文字や文字クラス

これらは1文字にマッチする。

記号 意味 使用例
. 任意の1文字 .+
\w 英数字(アルファベット、数字、アンダスコア( _ )) \w+
\W 英数字以外
\d 数字 \d{3}-\d{4}
\D 数字以外
\s 空白文字(半角スペース、タブ、改行) \s+
\S 空白文字以外 \S+\s+\S+
\n 改行文字
\t タブ
\\ \記号
[ ~ ] [ ]の中のどれか1文字※1 [abc] [A-Z] [0-9]
[^ ~ ] [ ]の中に無い1文字※1 [^0-9] [^a-z]

文字列に対する指定

文字の並びを選択するための記法。

記号 意味 使用例
( ~ ) ( )内を量指定子の対象とする su(mo){2,}
( ~ | … ) ~または… (AKB|NMB)48

表注1 文字クラスの[ ]内で正規表現は使えない。

量指定子

文字の後に置いて、繰り返し回数を指定する。

記号 意味 使用例
* 直前の文字の0回以上の繰り返し※2
+ 直前の文字の1回以上の繰り返し※2 \w+
? 0回または1回(つまり直前の文字は省略可能)※2 非?対称
*? 直前の文字の0回以上の繰り返し※3
+? 直前の文字の1回以上の繰り返し※3
?? 0回または1回(つまり直前の文字は省略可能)※3
{n} 直前の文字のn回の繰り返し \w{4}
{n,m} 直前の文字のn回以上m回以下の繰り返し(n,mの一方は省略可)※2 A{1,3}
{n,m}? 直前の文字のn回以上m回以下の繰り返し(n,mの一方は省略可)※3

表注2 最長マッチ。条件に合う最も長い部分にマッチする。

表注3 最短マッチ。条件に合う最も短い部分にマッチする。

位置指定子

「特定の文字」ではなく「特定の位置」にマッチする。アンカーともいう。

記号 意味
^ 行の先頭
$ 行の末尾
\< 単語の先頭
\> 単語の末尾
\b 単語の先頭か末尾(単語境界)
\B 単語の先頭、末尾以外
\A ファイルの先頭
\z ファイルの末尾
\G 直前のマッチ文字列の末尾

置換文字列中で使える表記

「マッチした文字列」を表す表現。これらは正規表現ではない。

記号 意味
\0 マッチした文字列全体
\1 \2 … \9 検索文字列の1~9番目の ( ) にマッチした文字列
\l 次の1文字を小文字にする
\L ~ \E 挟まれた文字列を小文字にする
\u 次の1文字を大文字にする
\U ~ \E 挟まれた文字列を大文字にする
\n 改行
\t タブ
\\ \記号