SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【正規表現】ある文字が2回連続している文字列にマッチする正規表現

問題

ある文字が2回連続している文字列にマッチする正規表現は?

apple → ○
orange → ×
success → ○
test-test → ×
www.softel.co.jp → ○
Oops → ×

答え

後方参照を使う。

「ある文字」をキャプチャして、「その文字がもう1回現れた」を表す。

ある文字は「.」、キャプチャするには括弧「()」で囲み、キャプチャした文字列は「バックスラッシュ+何個目のキャプチャかを示す数字」と書く。

(.)\1

デモ

文字を入力してボタンをクリックすると、alertで結果をお知らせします。

/(.)\1/.test()

応用

同じ要領で、ある文字が3文字続いた場合などを検出できる。

/(.)\1\1/.test()

「あるフレーズが続けて2回繰り返されているかどうか」もこのとおり。

/(.+)\1/.test()

関連するメモ

コメント