パソコン活用 の 色々なメモ
正規表現一覧(文字列の検索や置換に使用)
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 [ ] 内で正規表現は使えません


















