子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

正規表現の基本まとめ

正規表現を勉強中なので、正規表現の基本についてまとめてみた。

この手のまとめはいろんな人が書いているので、自分用として。















記号 意味 パターン例 パターン文字列 結果
^ 先頭にマッチする "^abcd"
"abcde"
"aaade"

true
false
$ 末尾にマッチする "abcd$"
"aaaabcd"
"aaadesd"

true
false
. 任意の1文字にマッチする "1.3"
"123"
"333"

true
false
* 直前の文字が0個以上にマッチする "A*"
""
"A"
"AA"
"AAA"
"D"

true
true
true
false
? 直前の文字が0個または1個にマッチする "A?"
""
"A"
"AA"

true
true
false
+ 直前の文字が1個以上にマッチする "A+"
""
"A"
"AA"

false
true
true
\d 半角数値(0~9)にマッチする。[0-9]と同じ。 "\d"
"0"
"0"
"a"

true
false
false
\D 半角数値(0~9)以外にマッチする。[^0-9]と同じ。 "\D"
"0"
"0"
"a"

false
true
true
\w 半角英数値(0~9、a~z、A~Z、_)にマッチする。[0-9a-zA-Z_]と同じ。 \w
"0"
"0"
"#"

true
false
false
\W 半角英数値(0~9、a~z、A~Z、_)以外にマッチする。 [^0-9a-zA-Z_]と同じ。 \W
"0"
"0"
"#"

false
true
false
[ ] いずれかの文字とマッチする。 "[ABCDE]"
"B"
"E"
"F"

true
true
false
( ) 1つのまとまりとして扱う。 "ABCDE"
"ABCDE"
"BCDEF"

true
false
{n} 直前の文字にn回マッチする。 "A{5}"
"AAAAA"
"AAAA"

true
false
{n,} 直前の文字にn回以上マッチする。 "A{5,}"
"AAAAA"
"AAAAAA"
"AAAA"

true
true
false
{n,m} 直前の文字にn回以上m回以下マッチする。 "B{5,6}"
"BBBBB"
"BBBBBB"
"BBBB"

true
true
false
| いずれかとマッチする。 "AAA|BBB"
"AAA"
"BBB"
"ZZZ"

true
true
false
- 範囲を指定する。 "[2-3]"
"2"
"4"

true
false
^ 否定。 "^[2-3]"
"2"
"4"

false
true
&& かつ。 "[2-3]&&3"
"2"
"3"
"4"

false
true
false
\ 直後のメタ文字をエスケープ。 "\\"
"\"
""

true
false
\s 空白1文字。 "\s"
" "
""

true
false
\S 空白文字以外。 "\S"
" "
"A"

false
true
\n 改行。 "\n"
"
"
"A"

true
false
\t タブ。 "\t"
""
"A"

true
false

よく使うパターン

意味 パターン例
郵便番号 /^[0-9]{3}-[0-9]{4}$/
電話番号 /^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/
Emailアドレス |^[0-9a-z_./?-]+@([0-9a-z-]+\.)+[0-9a-z-]+$|