もくじ
JavaScriptの正規表現
/^yuu/
「yuu」を検出
/^yuu\d/
- \d
数字を表す
この場合は「yuu1」, 「yuu9」などを検出
/^\d{4}-?\d{3}$/
- ^
行の先頭 - $
行の先頭 - d{4}
4桁の数字 - -?
-、または-がない場合がある
moge?
- ?
直前の一文字がある場合、ない場合
「moge」もしくは「mog」
A{3}
「AAA」を表す
- n{繰り返す回数}
A{2, 5}
- 2回以上、5回以下のAの繰り返しにマッチ
「AA」, 「AAA」, 「AAAA」, 「AAAAA」
A+
Aの1回以上の繰り返し
A*
Aの0回以上の繰り返し
A?
Aの0回もしくは1回の繰り返し
/[abc]/
abcのいずれか1文字
「a」,「b」,「c」にマッチ
/[^abc]/
abcのいずれでもない文字
「d」,「e」,「z」「1」,「7」 などにマッチ
/[0-9]/
0〜9のいずれかの1文字
「0」, 「1」, 「5」, 「9」などにマッチ。
/[^0-6]/
0〜6にいずれかに含まれない1文字
「7」, 「8」, 「9」, 「a」, 「G」, 「z」などにマッチ。
/Rank[ABC]/
「RankA」,「RankB」,「RankC」にマッチ
これね
replace(/\B(?=(\d{3})+(?!\d))/g, ",");
/ここにパターンを書く/g
\b
単語の区切り文字
\B
単語の区切り文字以外の文字
先読み・否定先読み
(?=P)
肯定的先読み言明。
後に続く文字がパターンPと一致することが必要条件。ただし、マッチしたパターンPは比較結果には含まれない
文章例
- 優さんです。よろしくお願い致します!
- 優です。よろしくな!
正規表現
- ^(優さんです(?=さん).*$
「優です。よろしくな!」にマッチする
'abcdef'.match(/abc(?=def)/) → abcにマッチ 'abc'.match(/abc(?=def)/) → null 'abcd'.match(/abc(?=def)/) → null 'abcdefg'.match(/abc(?=def)/) → abcにマッチ
(?!P)
否定先読み言明。Pに一致しないことが必要条件。ただし、マッチしたパターンPは比較結果には含まれない
'abcdef'.match(/abc(?!=def)/) → null 'abc'.match(/abc(?=def)/) → abc 'abcd'.match(/abc(?=def)/) → abc 'abcdefg'.match(/abc(?=def)/) → null