javascript入門/正規表現【修飾子編】大文字と小文字を無視するマッチなどのやり方
javascript入門/正規表現の使い方のmatchを使った基本的な書き方に続き、今回は【修飾子編】について紹介します。
目次
修飾子
RegExpオブジェクトには “i”, “g”, “m” という修飾子を付ける事ができます。
修飾子を付けるには、
1 2 3 |
<strong>/パターン/i</strong> or <strong>new RegExp("パターン", "i");</strong> |
のようにします。
大文字と小文字を区別しないマッチ
- i
“i”は大文字と小文字を区別しないマッチを行います。
1 |
"TeSt".match(/test/); |
はマッチしませんが
1 |
"TeSt".match(/test/i); |
はマッチします。
グローバルマッチ
- g
“g”はグローバルマッチを行います。 最初にマッチした時点でマッチする文字列を探すのを終了せず全てのマッチする文字列を探します。複数マッチングするかを調べることができます。
1 |
"aaa_aaa_aaa".match(/aaa/); |
は、[“aaa”] を返しますが
1 |
"aaa_aaa_aaa".match(/aaa/g); |
は [“aaa”, “aaa”, “aaa”] を返します。
返り値はマッチした要素分の配列ですから
1 |
"aaa_aaa_aaa".match(/aaa/g).length; |
は 3を返します。
※マッチしない時は NULL型なので .length を付ける時は注意してください。
複数行マッチ
- m
“m”は複数行マッチを行います。
組み合わせる
これらの修飾子は組み合わせる事ができます。
1 2 |
"aAa_AAa_AaA".match(/aaa/ig); <span style="color: #0000ff">=> ["aAa", "AAa", "AaA"]</span> |