ここで見つけた別の正規表現を試しましたが、動作しません。例えば正規表現REGEX 4数字他のものと少なくとも1つ異なるPINコード
:
1111 = false
1112 = true
それはので、私は正規表現でそれを行う必要があります私の宿題だ:)
ここで見つけた別の正規表現を試しましたが、動作しません。例えば正規表現REGEX 4数字他のものと少なくとも1つ異なるPINコード
:
1111 = false
1112 = true
それはので、私は正規表現でそれを行う必要があります私の宿題だ:)
あなたは、この正規表現を使用することができます。
^(\d)(?!\1+$)\d{3}$
説明:
^
- マッチライン(\d)
開始 - 最初の数字と一致し、バック基準#1すなわち\1
(?!..)
でそれを捕捉する最初の桁が同じ数字が続く場合(?!\1+$)
手段が一致を禁止負先読みである(捕捉グループ)まで。これについて\d{3}$
一致次の行の末尾に続く3桁それは本当に良いです...いい人!一致が4桁であることを主張するための別個のステップがないので、私が提案したものよりも短い。 –
どのように?
(?=^\d{4}$)(\d)+(?!\1)\d\d*
最初の先読みグループ(?=^\d{4}$)
は、文字列全体は4桁の数字で構成されていることを主張しています。
最初のキャプチャグループは、任意の桁数((\d)+
)と一致します。この後
、桁がなければならない最初のキャプチャグループに異なっている:あまりにも、\d*
のみ1112有効かother's:
(?!\1)\d
は最後に、数字の末尾の数に制限はありませんか? (例:1113 = true、1117 = true、...)= – LenglBoy
True - 少なくとも1つが異なる4つのコードピンごとに False - 1111,2222、...、9999 – Funshy
これを行うために幅のlookbehinds。私はそれをサポートするオンラインツールについて知らない。 –