パソコン活用 の 色々なメモ
正規表現一覧(文字列の検索や置換に使用)
Devas の HELP を引用させていただきました。
下記の3つに分類しています
○文字系
(下記表の"\"は"¥"と同じです)
記号 |
意味 |
. |
任意の1文字 |
* |
直前の文字の0回以上の繰り返し*1 |
+ |
直前の文字の1回以上の繰り返し*1 |
? |
直前の文字は省略可能*1 |
*? |
直前の文字の0回以上の繰り返し*2 |
+? |
直前の文字の1回以上の繰り返し*2 |
?? |
直前の文字は省略可能*2 |
[ ~ ] |
[ ]の中のどれか1文字*5 |
[^ ~ ] |
[ ]の中に無い1文字*5 |
( ~ | … ) |
~か…かどっちか |
{n} |
直前の文字のn回の繰り返し |
{min,max} |
直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)*1 |
{min,max}? |
直前の文字のmin以上max以下の繰り返し(min、maxは省略可能)*2 |
¥w |
アルファベット、数字、アンダスコア( _ )のどれかの1文字 |
¥W |
アルファベット、数字、アンダスコア以外の1文字 |
¥d |
数字1文字 |
¥D |
数字以外の1文字 |
¥s |
半角スペース、タブ、改行のどれか1文字 |
¥S |
半角スペース、タブ、改行以外の1文字 |
¥n |
改行 |
¥t |
タブ |
¥¥ |
¥記号 |
( ~ ) |
( )内を1文字扱い |
*1 最長一致と呼ばれ、条件に合う一番長い部分に一致します。
*2 最短一致と呼ばれ、条件に合う一番短い部分に一致します。
*5 [ ] 内で正規表現は使えません
○位置系
(下記表の"\"は"¥"と同じです)
記号 |
意味 |
^ |
行の先頭 |
$ |
行の末尾 |
¥< |
単語の先頭 |
¥> |
単語の末尾 |
¥b |
単語の先頭か末尾 |
¥B |
単語の先頭、末尾以外 |
¥A |
ファイルの先頭 |
¥z |
ファイルの末尾 |
¥G |
直前の一致文字列の末尾 |
*3 「位置系」の記号は「特定の文字列」ではなく「特定の位置」に一致します。
○置換文字列で使える正規表現
(下記表の"\"は"¥"と同じです)
記号 |
意味 |
¥0 |
一致した文字列全体 |
¥1 ¥2 … ¥9 |
それぞれ検索文字列の1~9番目の ( ) に一致した文字列*4 |
¥l |
次の1文字を小文字にする |
¥L ~ ¥E |
挟まれた文字列を小文字にする |
¥u |
次の1文字を大文字にする |
¥U ~ ¥E |
挟まれた文字列を大文字にする |
¥n |
改行 |
¥t |
タブ |
¥¥ |
¥を指定したい時 |
*1 最長一致と呼ばれ、条件に合う一番長い部分に一致します。
*2 最短一致と呼ばれ、条件に合う一番短い部分に一致します。
*3 「位置系」の記号は「特定の文字列」ではなく「特定の位置」に一致します。
*4 ( ) の順番は ( が現れる順番です。
*5 [ ] 内で正規表現は使えません