【Ruby】文字列において、同一文字が連続しているかどうかを判定する
やりたいこと
文字列において、同一文字が連続しているかを判定する
例えば、 '123abbbc' は 'b' が3文字連続していることを判定したい
利用場面
パスワードのvalid判定などにおいて、「同一文字が連続していないこと」をチェックしたい場合など
やり方
正規表現の後方参照を使い、ある文字をキャプチャし、その直後で同一文字が存在するかを確認
後方参照って何?という場合は下記
初心者歓迎!手と目で覚える正規表現入門・その4(最終回)「中級者テクニックをマスターしよう」 - Qiita
具体例
# 3文字以上連続した文字列が存在する場合、Invalidとして弾く password = '123abbbc' if password =~ /(\w)\1{2,}/ puts 'Invalid password' end