javascript入門/正規表現【メタキャラクタ編】数字や文字、タブなどのマッチのやり方
-
javascript入門/正規表現の使い方の【ブラケット編】特定の文字が含まれているかを探すためのやり方などに引き続き、今回はメタキャラクタについての解説です。
- .(ピリオド)
- \w
- \W
- \d
- \D
- \s
- \S
- \b
- \B
- \0
- \f
- \n
- \r
- \t
- \v
- \xxx
- \xdd
- \uxxxx
目次
メタキャラクタ
メタキャラクタは正規表現で特別な意味を持つ文字です。
改行や行終端を除いて、単一の文字とマッチ
1 2 3 4 5 6 7 8 9 10 11 |
"abc".match(/./g); <span style="color: #0000ff">=> ["a", "b", "c"]</span> "abc".match(/..../g); <span style="color: #0000ff">=> null <span style="color: #003300">連続する4文字は存在しないのでマッチしません。</span></span> "abc".match(/../g); <span style="color: #0000ff">=> ["ab"] <span style="color: #003300">連続する2文字とマッチします。注意したいのがグローバルマッチでも、["ab", "bc"] にはなりません。 </span></span> |
文字や数字とマッチ
1 2 3 4 5 6 7 |
"!?*+".match(/\w/g); <span style="color: #0000ff">=> null</span> <span style="color: #003300">記号とはマッチしません</span> "abc123!?*+".match(/\w/g); <span style="color: #0000ff">=> ["a", "b", "c", "1", "2", "3"] </span> |
文字や数字以外とマッチ
1 2 3 4 5 6 |
"!?*+".match(/\W/g); <span style="color: #0000ff">=> ["!", "?", "*", "+"] </span> "abc123".match(/\W/g); <span style="color: #0000ff">=> null </span> |
数字とマッチ
1 2 3 |
"abc123!?*+".match(/\d/g); <span style="color: #0000ff">=> ["1", "2", "3"] </span> |
数字以外とマッチ
1 2 |
"abc123!?*+".match(/\D/g); <span style="color: #0000ff">=> ["a", "b", "c", "!", "?", "*", "+"]</span> |
空白記号とマッチ
1 2 3 4 5 6 7 |
"abc123␣".match(/\s/g); <span style="color: #0000ff">=> null</span> "\ta bc 12 3".match(/\s/g); <span style="color: #0000ff">=> [" ", " ", " ", " "] <span style="color: #003300">半角スペースやタブは空白記号なのでマッチします。 </span></span> |
空白記号以外とマッチ
1 2 3 |
"\ta bc 12 3".match(/\S/g); <span style="color: #0000ff">=> ["a", "b", "c", "1", "2", "3"] </span> |
〜で始まるや、〜で終わる単語とマッチ
1 2 3 4 5 6 7 |
"an apple".match(/\bapp/g); <span style="color: #0000ff">=> ["app"] <span style="color: #003300">先頭が"app"の単語とマッチします。</span></span> "an apple".match(/le\b/g); <span style="color: #0000ff">=> n["le"] <span style="color: #003300">末尾が"le"の単語とマッチします。</span></span> |
〜で始まるや、〜で終わる単語以外とマッチ
nullとマッチ
フォームフィード文字とマッチ
ラインフィードとマッチ
キャリッジリターンとマッチ
タブとマッチ
垂直タブとマッチ
8進数とマッチ
1 2 3 |
"HELLO".match(/\117/g); <span style="color: #0000ff">=> ["O"] <span style="color: #003300">"0"とマッチします。</span></span> |