正規表現(Ver7.11対応版)
目次検索系コマンド− 正規表現
 秀丸エディタでは検索、置換、grepで正規表現を使用することができます。正規表現を使用するとDOSのワイルドカードのような検索はもとより、非常に複雑な条件で検索することができます。

 正規表現は、外部のDLL(プログラム)によって実現されています。
 秀丸エディタでは、「HmJre.dll」と「Jre32.dll」と言うDLLが標準でインストールされ標準の設定では、「HmJre.dll」を使用するように設定されています。
 正規表現検索で使用するDLLの変更は、[動作環境]-[環境]で行うことができます。
 Hmjre.dllの詳細な仕様については、  HmJre.dllのヘルプ  を参照してください。

 正規表現はテキストを処理(主に検索)するときに非常に便利ですので、是非覚えましょう。正規表現に誤りがある場合やメモリが不足している場合などは、検索ができずエラーが表示されます。

 次のメタキャラクタ(特殊キャラクタ)を使って検索します。
メタキャラクタ意味

[]キャラクタクラス
()パターンをグループ化する
^行頭 (またはキャラクタクラス 内での補集合)
$行末
.改行を除く任意の1文字
*直前のパターンの0回以上の繰り返し
+直前のパターンの1回以上の繰り返し
?直前のパターンが0回または1回現れる
|パターンの論理和
\エスケープ文字

以下は、正規表現のDLLにHmJre.dllを指定している場合に有効です。
メタキャラクタ意味

{n}・{n,}・{n,m}パターンの繰り返し回数指定
(?=expression)後方一致指定(V1.50にて一部拡張)
(?!expression)後方不一致指定(V1.50にて一部拡張)
(?<=expression)前方一致指定
(?<!expression)前方不一致指定
\1・\2 ...一般的正規表現互換のタグ付き正規表現(V1.50から)
*?・+?・??・{n,m}?繰り返しマッチングでのものぐさ指定
(?\tag-number)ヒットした扱いにするタグ指定(hmJre.dll独自形式)

 エスケープ文字を使って、エスケープシーケンス を使用することもできます。
 なお、メタキャラクタそのものを検索したい場合はエスケープ文字でエスケープしてください。
 例えば、パーレンや疑問符を検索したい場合は次のようにします。

 さらにマクロで正規表現を使う場合は、ダブルクォーテーション(")内の表記になるため、\マークを二重にして\\として書く必要があります。

例:

 HmJre.dllは、JRE32.DLLとの互換性を多少なりとも確保するために、{n}などの形式で間違いがあってもエラーにはなりません。例えば「a{」が指定された場合は、それは{n}などの指定ではなく、単に「a{」という文字列を検索する指定であると解釈されます。