• ベストアンサー

正規表現で2回以上連続する文字にHITさせたい

パスワードの入力で aa や 11 など 2回以上連続する文字を入力したらHITさせてはじきたいんですが どういう正規表現を書けばよいでしょうか /.{2,}/ としたのですが 結局二文以上あれば何にでもHITしてしまいます /a{2,}|b{2,}|c{2,}・・・/ みたいなのを スマートに書く方法はありませんか

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

/(.)\1+/ これでどうでしょう?

AnonymousCoward
質問者

お礼

すいません 自己解決です \1 は後方参照とかいうのみたいですね 結局 (.)\1 で2文字の連続する文字 が表現でき それの連続(+) ということで二文字以上 になるわけですね 大変勉強になりました ありがとうございました

AnonymousCoward
質問者

補足

素早い回答ありがとうございます ばっちりできました   ところで 解説などお願いできないでしょうか・・・ (.) 任意の文字が \1 1回HIT + 上記がさらに1回以上HIT??? なぜこれで任意の文字の2回以上連続 となるのか分からないです

すると、全ての回答が全文表示されます。

専門家に質問してみよう