> どうして,そういうことをやらなければいけないかを
> 説明すべきだったんでしょうね.
そうやって資料が 100P 超えるんですね、わかります (w
結果だけを求めるヒトと、理屈を求めるヒト双方のニーズを満たすのは
意外に難しいですよね。
「こうするべきだ!」と結果を主張しても、「えー?こっちがいいんじゃ?」と
反論される事があり、結局主張の背景をイチから説明しなきゃいけなかったりとか。
…
正規表現に関しては、次のセッションでもちょっと時間を割いてあります。
出し惜しみしても仕方ないので、サンプルを上げておきますね。
uses
..., SKRegExpW;
// SKRegExp による正規表現マッチング
if ExecRegExp('[吉'#$20BB7']野[家屋]', Edit1.Text, []) then
ShowMessage('Match')
else
ShowMessage('No match');
// SKRegExp によるマッチング文字列取得
var
RegExp: TSkRegExp;
begin
result := '';
RegExp := TSkRegExp.Create;
try
RegExp.Expression := '[吉'#$20BB7']野[家屋]';
if RegExp.Exec(Edit1.Text) then
result := RegExp.Match[0];
finally
RegExp.Free;
end;
end;
「入力された文字列が某有名外食チェーン店の名前に一致するか?」
のサンプルです。誤記にも対応しています。
1 番目の例は単純なマッチングです。
Create しないでいいので気軽に使えます。
2 番目の例で RegExp.ExecNext を使えば、マッチする文字列が複数含まれる
場合に繰り返して文字列を抽出できます。
|