正規表現検索モードでは、macOS 標準の ICU という正規表現ライブラリを利用した正規表現での検索ができます。
正規表現は、以下に示すようなメタ文字と呼ばれる特別な意味を持つ文字や記号を使いながら、文字列を検索します。
\w 文字 (letter) - Letter と判断される 1 文字にマッチします。多くのスクリプト言語などでは A-Za-z_0-9 のみにマッチしますが、macOS の ICU では、Unicode の文字 (letter) にマッチするので、日本語であれば、ひらがな、カタカナ、漢字などにもマッチします。正規表現での \p{Letter} に対応します。
\W 文字以外 (letter 以外) - 文字と認識されるもの以外 (記号、空白など) にマッチします。
\s 空白文字 (\ \t\f\r\n) - 空白文字にマッチします。空白文字は、半角・全角のスペース (\ )、タブ記号 (\t)、改ページ記号 (\f)、行頭復帰 (Carriage Return [CR]) (\r)、改行 (\n) が該当します。注意が必要なのは、画面上の改行は、Mac や Unix では \n で表されますが Windows では \r\n で表されるので、どちらで作ったテキストファイルかによって扱いが変わります。ただ、CasualConc では、テキストファイルを読み込んだときに \r\n を \n に変換する処理が行われるため、\n だけで改行にヒットするはずです。
\S 空白文字以外 - \s にヒットする以外のすべての文字 (記号を含む) にマッチします。
\d 数字 (1-9) - 数字 1 文字にマッチします。4 桁の数字にマッチしたい場合は \d\d\d\d と 4 回続けます。
\D 数字以外 - 数字以外の文字 (空白、記号を含む) にマッチします。
. (ピリオド) 任意の 1 字 - 空白、記号、文字などすべての文字 (character) にマッチします。
* 0 回以上の繰り返し - 直前の文字・メタ文字が 0 回以上繰り返されるものにマッチします。\w* は文字 (letter) がない場合も文字 (letter) が連続する場合もマッチします。cat\w* とすると、cat, cats, catalog, catch, category など、cat を含めて cat で始まる単語すべてにマッチします。cat's は、' が \w にマッチしないので、cat の部分だけがマッチします。
+ 1 回以上の繰り返し - 直前の文字・メタ文字が 1 回以上繰り返されるものにマッチします。\w+ は文字 (letter) が連続する場合にマッチします。cat\w+ とすると、cats, catalog, catch, category など、cat で始まる単語すべてにマッチしますが cat にはマッチしません。cat's は、' が \w にマッチしないので、cat\w+ ではマッチしません。
? 0 もしくは 1 回の繰り返し - 直前の文字・メタ文字が 0 回もしくは 1 回ある場合にマッチします。\w? は文字 (letter) がない場合と 1 回しかない場合にマッチします。cat\w? とすると、cat, cats にマッチしますが、cata, catc, cate など、cat で始まる単語の最初の 4 文字にマッチします。cat's は、' が \w にマッチしないので、cat の部分だけがマッチします。
+? 1回以上の繰り返しで最短 - 直前の文字・メタ文字が 1 回以上繰り返されるものにマッチしますが、その中で最短のものにマッチします。例えば、エラータグがついた He <error>eat</error> two <error>apple</error>. という文があったとします。これで、エラータグがついた部分を検索したいときに <error>.+</error> とすると、<error>eat</error> two <error>apple</error> がマッチしてしまいます。ここで、<error>.+?</error> とすると、最初に </error> が現れる部分までにマッチさせることができるので、<error>eat</error> がマッチします。
| or - 前後の部分のどちらかがマッチします。A|B とすると A と B がマッチします。下のまとまりを表す () に入れると、その部分だけどちらか、という検索ができます。例えば、it (is|was) interesting にすると () に囲まれた (is|was) のところが is もしくは was にマッチした場合ということになるので、it is interesting もしくは it was interesting がマッチします。
[ ] 括弧内のいずれかの文字にマッチします。 [123] とすると、1, 2, 3 のいずれかにマッチします。例えば
[^ ] 括弧内のいずれかの文字以外にマッチします。[^123] とすると 1, 2, 3 以外の文字 (空白、記号を含む) にマッチします。
{n,m} 任意の回数の繰り返し - n 回から m 回までの繰り返しという意味になります。\w{1,3} とすると、文字 (letter) が 1 回から 3 回繰り返される場合にマッチします。英語だと、a, 1, an, 12, app, 123 など、3 文字の単語や 3 桁の数字などや、それ以上の長さの単語や数字の最初の 3 文字までがマッチします。m の部分を省略すると、n 回以上の繰り返しという意味になります。n を省略すると、m 回までの繰り返しという意味になります。12345 という文字列がある場合、\d{2,} では 12345 がマッチし、\d{,3} では 123 がマッチします。1 だけの場合は、\d{2,} ではマッチしませんが、\d{,3} では 1 にマッチします。
( ) まとまり - ( ) の中の部分をひとまとまりとして扱います。実際には、後方参照と言って、括弧に入った部分を後から参照できるのですが、CasualConc では検索にしか使わないため、( ) 内をひとまとめにしたて扱うだけです。上の例にあるように、| で or 検索をする際に、括弧の中だけで or 検索ができます。it (is|was|has been) known とすると、it is known, it was known, it has been known がマッチします。CasualTextractor や CasualTagger など、正規表現を使った置換機能があると、( ) の中は ( ) の順番に \1, \2 などで参照できます (アプリケーションやスクリプト言語によっては $1, $2 で参照する場合もあります)。
^ 行頭 - ^に続く部分が行頭 (文字列の先頭、改行記号の後など) ある場合にマッチします。例えば、^\d+ とすると、ファイルの先頭や改行記号の後 (段落の最初) が数字で始まる場合の数字にマッチします。
$ 行末 - $ で行やテキストが終わる部分にマッチします。\w+$ では、文字 (letter) の次に改行記号 (\n) がある場合やそこでテキストが終わる場合にマッチします。
正規表現検索には、以下のオプションがあります。
大文字小文字区別 - チェックが入っていると大文字小文字の区別をします。
複数行 - 正規表現では、. で任意の 1 文字 (character) の連続 .+ を検索すると改行記号 (\n) を超えることはありませんが、複数行オプションをオンにすると、改行記号も含めてマッチします。これによって、特定の文字列が現れるところまで改行記号を超えてマッチさせることが可能になります。例えば、<tag> </tag> の開始・終了タグに挟まれた部分にマッチさせたい場合に、<tag>.+</tag> として検索した時、複数行のオプションがオフの場合は、この二つの間に改行があるとマッチしませんが、複数行のオプションをオンにすると、改行があってもマッチします。
¥ を \ に置換 - US キーボードなどでは問題になりませんが、日本語 (JIS) キーボードでは、バックスラッシュ (\) のキーがなく、¥ キーがあり、この二つの文字は同じコードを利用しているため、\ が入力できないことがあります。そのため、このオプションにチェックを入れると、¥ を内部処理で \ に置き換えてメタ文字の一部として処理することができます。