パソコン活用 の 色々なメモ

正規表現一覧(文字列の検索や置換に使用)

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 [ ] 内で正規表現は使えません