【正規表現】ある文字が2回連続している文字列にマッチする正規表現
問題
ある文字が2回連続している文字列にマッチする正規表現は?
apple → ○ orange → × success → ○ test-test → × www.softel.co.jp → ○ Oops → ×
答え
後方参照を使う。
「ある文字」をキャプチャして、「その文字がもう1回現れた」を表す。
ある文字は「.」、キャプチャするには括弧「()」で囲み、キャプチャした文字列は「バックスラッシュ+何個目のキャプチャかを示す数字」と書く。
(.)\1
デモ
文字を入力してボタンをクリックすると、alertで結果をお知らせします。
/(.)\1/.test()
応用
同じ要領で、ある文字が3文字続いた場合などを検出できる。
/(.)\1\1/.test()
「あるフレーズが続けて2回繰り返されているかどうか」もこのとおり。
/(.+)\1/.test()
コメント