正規表現クラス 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を愛用
掲載日: 2010-10-07
iPentec all rights reserverd.