正規表現のバックスラッシュは、リテラル文字の前に置きます。一般的な文字クラスを示す特定の文字をエスケープすることもできます。文字の場合は\w、スペースの場合は\s、などです。次の例は、文字(英数字と下線)およびスペースにマッチします。
Regex(
"Are you there, Alice?, asked Jerry.", // ソース
"(here|there).+(\w+).+(said|asked)(\s)(\w+)\." ); // 正規表現
"there, Alice?, asked Jerry."
(here|there).+ |
“there”とカンマ、スペースにマッチします。 |
(\w+) |
“Alice”にマッチします。 |
.+ |
“?, ”にマッチします。 |
(said|asked)(\s) |
後にスペースが続く“asked”にマッチします。スペースがない場合、マッチはここで終了します。ソース文字列には、“asked”の直後にスペースがあります。 |
(\w+)\. |
“Jerry”とピリオドにマッチします。 |
表6.10は、JMPでサポートされているエスケープ文字をまとめた表です。\C、\G、\X、\zはサポートされていません。
\\ |
1つのバックスラッシュ |
\A |
文字列の最初 |
\b |
語の境界。\wと\W、あるいは\Wと\wの間にある長さゼロの文字列。 |
\B |
語の境界以外 |
\cX |
ASCII制御文字 |
\d |
1桁の数字[0-9] |
\D |
数字ではない1つの文字[^0-9] |
\E |
エスケープ文字の処理を停止 |
\l |
1つの小文字[a-z] |
\L |
小文字ではない1つの文字[^a-z] |
\Q |
\Eが見つかるまでエスケープ文字を無視 |
\r |
キャリッジリターン |
\s |
1つの空白文字 |
\S |
空白でない1つの文字 |
\u |
1つの大文字[A-Z] |
\U |
大文字ではない1つの文字[^A-Z] |
\w |
文字[a-zA-Z0-9_] |
\W |
文字でない1つの字[^a-zA-Z0-9_] |
\x00-\xFF |
16進数の文字 |
\x{0000}-\x{FFFF} |
Unicodeのコードポイント |
\Z |
改行前の文字列の最後 |