正規表現

提供: RAD Studio
移動先: 案内検索

IDE のリファレンスとユーティリティ への移動


正規表現は、特定の文字(記号)に特別な意味がある検索文字列です。RAD Studio では、正規表現の以下の記号を認識できます。

文字 説明
^ 文字列の先頭の曲折アクセント記号(^)は行頭に一致します。
$ 表現の末尾のドル記号は行末に一致します。
. ピリオドは任意の 1 文字に一致します。たとえば、b.t は bot にも bat にも一致しますが、boat には一致しません。
? 文字または文字グループの後に疑問符がある場合は、その文字または文字グループが 0 個か 1 個あるものに一致します。たとえば、bo?t は bt にも bot にも一致します。
* 文字または文字グループの後にアスタリスクがある場合は、その文字または文字グループが任意の数(ゼロ個を含む)出現するものに一致します。たとえば、bo*t は btbotboot に一致します。
+ 文字または文字グループの後にプラス記号がある場合は、その文字または文字グループが任意の数(1 個以上)出現するものに一致します。たとえば、bo+t は bot にも boot にも一致しますが、bt には一致しません。
| 縦棒は、縦棒の両側にある各表現に一致します。たとえば、bar|car は barcar のどちらかに一致します。
[ ] 複数の文字を角かっこで囲むと、そのかっこ内のいずれかの 1 文字にのみ一致します。たとえば、[bot] は bot のいずれかに一致します。
[^] 角かっこ内の文字列の先頭に曲折アクセント記号がある場合は、否定を意味します。したがって、[^bot] は、bot 以外の任意の文字に一致します。
[-] 角かっこ内のハイフンは、文字の範囲を示します。たとえば、[b-o] は b から o までの任意の 1 文字に一致します。
{ } 複数の文字または表現を中かっこで囲むと、それらはグループになります。グループはネストが可能で、1 組のパターンで最大 10 グループまでネストできます。置換操作の場合は、[検索文字列]表現内の位置に応じて、バックスラッシュと数字でグループが参照されます。数字は 0 で始まります。たとえば、[検索文字列]を {[0-9]}{[a-c]*}、[置換文字列]を NUM\1 と指定すると、文字列 3abcabc は NUMabcabc に変更されます。
( ) かっこは中かっこ({ })の代わりとなるもので、動作は同じです。
\ ワイルドカード文字の前にバックスラッシュ(日本語環境では \)があると、コード エディタでは、その文字をワイルドカードではなくそのままの文字として扱います。たとえば \^ は ^ という文字に一致し、行頭は検索されません。


BRIEF 正規表現を有効にした場合は、上記表の記号ではなく、BRIEF 正規表現記号を正規表現で使用できます。BRIEF 正規表現を有効にするには、[ツール|オプション...|エディタ設定を選択し、[BRIEF 型正規検索表現]オプションをオンにします。以下の BRIEF 記号を使用できます。

文字 説明
^ 文字列の先頭の曲折アクセント記号(^)は行頭に一致します。
< 文字列の先頭の小なり記号は行頭に一致します。
% 文字列の先頭のパーセント記号は行頭に一致します。
$ 表現の末尾の大なり記号は行末に一致します。
> 表現の末尾の大なり記号は行末に一致します。
? 疑問符は任意の 1 文字と一致します。「.」(ピリオド)を参照。
@ 文字または文字グループの後にアットマークがある場合は、その文字または文字グループが任意の数(ゼロ個を含む)出現するものに一致します。たとえば、bo@t は btbotboot に一致します。
* 文字または文字グループの後にアスタリスクがある場合は、その文字または文字グループが任意の数(1 個以上)出現するものに一致します。たとえば、bo*t は bot にも boot にも一致しますが、bt には一致しません。
+ 文字または文字グループの後にプラス記号がある場合は、その文字または文字グループが任意の数(1 個以上)出現するものに一致します。たとえば、bo+t は bot にも boot にも一致しますが、bt には一致しません。
| 縦棒は、縦棒の両側にある各表現に一致します。たとえば、bar|car は barcar のどちらかに一致します。
[ ] 複数の文字を角かっこで囲むと、そのかっこ内のいずれかの 1 文字にのみ一致します。たとえば、[bot] は bot のいずれかに一致します。
[^] 角かっこ内の文字列の先頭に曲折アクセント記号がある場合は、否定を意味します。したがって、[^bot] は、bot 以外の任意の文字に一致します。
[~] 角かっこ内の文字列の先頭にチルダがある場合は、否定を意味します。したがって、[~bot] は、bot 以外の任意の文字に一致します。
[-] 角かっこ内のハイフンは、文字の範囲を示します。たとえば、[b-o] は b から o までの任意の 1 文字に一致します。
{ } 複数の文字または表現を中かっこで囲むと、それらはグループになります。グループはネストが可能で、1 組のパターンで最大 10 グループまでネストできます。
\ ワイルドカード文字の前にバックスラッシュ(日本語環境では \)があると、IDE では、その文字をワイルドカードではなくそのままの文字として扱います。たとえば \^ は ^ という文字に一致し、行頭は検索されません。

関連項目

コード サンプル