Regular expression(Ver1.88対応版)
Index

 秀丸ファイラーClassicの各種検索で正規表現を使う場合は、先頭にre:やregexp:を書いた後に正規表現を記述します。
 大文字小文字の区別は常に無しです。
 参考:フィルタ/ワイルドカードの書き方

 正規表現は、「HmJre.dll」という秀丸エディタでも使われているDLLによって実現されています。
 Hmjre.dllの詳細な仕様については、秀丸エディタのHmJre.dllのヘルプを参照してください。
 簡単なパターンについてだけ説明します。

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

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

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

{n}・{n,}・{n,m}パターンの繰り返し回数指定
(?=expression)後方一致指定
(?!expression)後方不一致指定
(?<=expression)前方一致指定
(?<!expression)前方不一致指定
\1・\2 ...一般的正規表現互換のタグ付き正規表現
*?・+?・??・{n,m}?繰り返しマッチングでのものぐさ指定
(?\tag-number)ヒットした扱いにするタグ指定(hmJre.dll独自形式)
\s空白([ \t\r\n]と同じ)
\S\s以外
\d数字([0-9]と同じ)
\D\d以外
\c英数字と「_」([a-zA-Z0-9_]と同じ)
\C\c以外
\i英字と「_」([a-zA-Z_]と同じ)
\I\i以外
\y数字を含む単語の区切り(\<|\>と似ているけど数字も判断)
\Y\y以外の区切り
\Q〜\Eメタ文字を文字とみなす
(?:expression)\1・\2の対象としないグループ
(?#expression)コメント


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

 HmJre.dllは、JRE32.DLLとの互換性を多少なりとも確保するために、{n}などの形式で間違いがあってもエラーにはなりません。例えば「a{」が指定された場合は、それは{n}などの指定ではなく、単に「a{」という文字列を検索する指定であると解釈されます。
The regular expression is realized by the external DLL "HmJre.dll".
For detailed specification of Hmjre.dll, please refer to the help of Hidemaru editor HmJre.dll. (Japanese only)

Simple explanation:
Meta characterMeaning

[ ]Character classes
( )Grouping and capturing
^Start of string (or negated character classes)
$End of string
.Any character
*Zero or more times quantifiers
+One or more times quantifiers
?Once or not at all
|Alternation
\Escape

Meta characterMeaning

{n}Exactly n times
{n,} At least n times
{n,m}At least n but not more than m times
(?=expression)Positive lookahead
(?!expression)Negative lookahead
(?<=expression)Positive lookbehind
(?<!expression)Negative lookbehind
\1 \2 ...Backreference
*? +? ?? {n,m}?Reluctant quantifiers
(?\tag-number)Match target
\sSame as[ \t\r\n]
\SSame as[^ \t\r\n]
\dSame as [0-9]
\DSame as [^0-9]
\cSame as [a-zA-Z0-9_]
\CSame as [^a-zA-Z0-9_]
\iSame as [a-zA-Z_]
\ISame as [^a-zA-Z_]
\yWord boundaries with number
\YNegated version of \y
\Q to \EBetween the \Q and the \E are interpreted as literal characters
(?:expression)Non-capturing groups
(?#expression)Comment