# 正規表現一覧 よく使う検索・置換のパターン
コーディングするのによく使う複数パターンの文字列操作・検索置換えをメモしました。
# 量指定子 繰り返し 0 回以上一致 * + ? {n}
| 記号 | 説明 |
|---|---|
* | 直前の要素と 0 回以上一致 |
+ | 直前の要素と 1 回以上一致 |
? | 直前の要素と 0 回または 1 回一致 |
{ n } | 直前の要素とちょうど n 回一致 |
{ n ,} | 直前の要素と n 回以上一致 |
{ n , m } | 直前の要素と n 回以上 m 回以下で一致 |
*? | 直前の要素と 0 回以上 |
+? | 直前の要素と 1 回以上 |
{ n }? | 直前の要素とちょうど n 回一致 |
{ n ,}? | 直前の要素と n 回以上 |
{ n , m }? | 直前の要素と n 回以上 m 回以下 |
# 文字エスケープ バックスペース・改行・エスケープ関連 \b \t \r \n \
| 記号 | 説明 |
|---|---|
\b | バックスペース \u0008 |
\t | タブ \u0009 |
\r | 改行 \u000D |
\n | 改行 \u000A |
\ | \後ろの文字をエスケープ文字として扱う |
# 文字クラス 数字・文字範囲関連 [] [^] \w \s \d
| 記号 | 説明 |
|---|---|
[] | []内にある任意の 1 文字 |
[0-9] | 0 から 9 の任意の 1 文字 |
A-Za-zA-Za-z | 全角および半角のアルファベット |
[^] | [^]内にない任意の 1 文字 |
[^A-Za-z_] | アルファベットおよびアンダースコア以外 |
. | ワイルドカード:\n を除く任意の 1 文字 |
\w | 単語に使用される任意の文字 |
\W | 単語に使用される文字以外の任意の文字 |
\s | 空白文字 |
\S | 空白以外の文字 |
\d | 10 進数字 |
\D | 10 進数以外の任意の文字 |
# [] 指定範囲にある任意の 1 文字
パターン
[abe] a,b,e の任意の 1 文字
サンプル
absolute
一致結果
a
b
e
# [^] 指定範囲にない任意の 1 文字
パターン
[^abe] a,b,e 以外の任意の 1 文字
サンプル
absolute
一致結果
s
o
l
u
t
# . ワイルドカード:\n を除く任意の 1 文字
パターン
[l.t] 文字 l + (任意の 1 文字) + 文字 t
サンプル
absolute
一致結果
lut
# /w 単語に使用される任意の文字
サンプル
abs 3.14
一致結果
a
b
s
3
1
4
# /W 単語に使用される文字以外の任意の文字
サンプル
abs 3.14
一致結果
" " <- スペース
.
# アンカー 行先頭末尾・ファイル先頭末尾・単語など位置関連 ^ $ \A \z \G \b
| 記号 | 説明 |
|---|---|
^ | 行の先頭 |
$ | 行の末尾\nの前 |
\A | ファイルの先頭 |
\z | ファイルの末尾\nの前 |
\G | 前回の一致が終了した位置 |
\b | 単語の先頭か末尾 |
\B | 単語の先頭、末尾以外 |
\< | 単語の先頭 |
\> | 単語の末尾 |
# ^ 行の先頭
パターン
^\d{3} 先頭から数字 3 つ
サンプル
901-333
一致結果
901
# $ 行の末尾
パターン
\d{3}$ 末尾数字 3 つ
サンプル
901-333
一致結果
333
# \G 行の末尾
パターン
\G\(\d\) 前回(数字)でマッチした終了位置から一致する(数字)
サンプル
(1)(3)(5)[7](9)
一致結果
(1)
(3)
(5)
# 参考
正規表現とは、入力テキスト内で正規表現エンジンによる照合が試行されるパターンです。 パターンは、1 個以上の文字リテラル、演算子、または構成体で構成されます。