javascript入門/正規表現【数量詞編】先頭、末尾、繰り返しマッチなどのやり方
javascript入門/正規表現の使い方の【メタキャラクタ編】数字や文字、タブなどのマッチのやり方に引き続き、今回は数量詞についての解説です。
目次
Quantifiers(数量詞)
先頭にマッチ
- ^
1 2 3 4 5 6 |
"how are you?".match(/^how/); <span style="color: #0000ff">=> ["how"]</span> "Hello, how are you?".match(/^how/); <span style="color: #0000ff">=> null</span> <span style="color: #003300">先頭ではないのでマッチしません。</span> |
末尾にマッチ
- $
1 2 3 4 5 6 |
"how are you".match(/you$/); <span style="color: #0000ff">=> ["you"] </span> "how are you today".match(/you$/); <span style="color: #0000ff">=> null</span> <span style="color: #003300">末尾ではないのでマッチしません。</span> |
特定の文字列が後に続いている文字列にマッチ
- ?=n
1 2 3 |
"test teaa tebb".match(/te(?=st)/g); <span style="color: #0000ff">=> ["te"]</span> <span style="color: #003300">"test"にだけマッチします。</span> |
特定の文字列が後に続いていない文字列にマッチ
- ?!n
1 2 3 |
"test teaa tebb".match(/te(?!st)/g); <span style="color: #0000ff">=> ["te", "te"]</span> <span style="color: #003300">"teaa", "tebb"にマッチします。</span> |
nのX回の繰り返しにマッチ
- n{X}
1 2 3 4 5 6 7 |
"aaabbcc".match(/a{3}/g); <span style="color: #0000ff">=> ["aaa"]</span> <span style="color: #003300">aを3回繰り返す場合にマッチします。</span> "aaaabbcc".match(/a{3}/g); <span style="color: #0000ff">=> ["aaa"] <span style="color: #003300">"aaaa"ではなく"aaa"とマッチしています。</span></span> |
nのX回以上の繰り返しにマッチ
- n{X,}
nのX回以上、Y回以下の繰り返しにマッチ
- n{X,Y}
nの1回以上の繰り返しとマッチ
- n+
n{1,} と同じ意味です。
nの0回以上の繰り返しとマッチ
- n*
1 2 |
"ab bb a b".match(/ab*/g); <span style="color: #0000ff">=> ["ab", "a"]</span> |
nの0回もしくは1回の繰り返しとマッチ
- n?