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