正規表現クラス RegularExpressions.TRegExを利用する - Delphi XE
Delphi XEでは正規表現検索や置換をするライブラリがRegularExpressions.TRegExとして標準添付されています。利用してみましょう。
VCLフォームアプリケーションを新規作成し、下図のフォームを設計します。テキストボックスを2つとボタンを配置しました。
次に、フォームのユニットのuses節にRegularExpressionsを追加します。
ButtonのOnclickイベントに以下のコードを実装します。
procedure TForm1.Button1Click(Sender: TObject);
var
reg:TRegEx;
match:TMatch;
begin
reg:=TRegEx.Create('delphi');
match:=reg.Match(Edit1.Text);
Edit2.Text:= IntToStr(match.Index);
end;
実行してみます。上部のテキストボックス(Edit1)に "Hello delphi World!" と入力しボタンをクリックした結果が下図です。Edit1の入力文字列から"delphi"の文字列を捜し、見つかった場所を下のテキストボックス(Edit2)に表示しています。
プログラムのコード
Unit1.pas
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RegularExpressions, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
reg:TRegEx;
match:TMatch;
begin
reg:=TRegEx.Create('delphi');
match:=reg.Match(Edit1.Text);
Edit2.Text:= IntToStr(match.Index);
end;
end.
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用