正規表現の一致が難しい場合があります。この問題で私を助けてくれることを願っています。 javascriptまたはVB.netを使用して文字列形式をワンショットでテストする必要があります。文字と数字の組み合わせが一致正規表現
文字列は、str1〜str2のように1つのチルダ文字で区切られた部分か、またはstr1またはstr2のようなチルダ文字のない部分だけで区切られています。
Str1は0〜8桁のシーケンスです。 str1の長さがゼロの場合、チルダ文字も存在しません。
Str2の長さは0〜25文字で、フォーマットは文字と数字の組み合わせでなければなりません。文字や数字だけが良いものではなく、両方の組み合わせであることに注意してください。 str2の長さがゼロの場合、チルダ文字は存在しません。
str1〜str2の組み合わせはオプションフィールドなので、str1〜str2の長さはゼロであり、str1〜str2の値は空になります。
たとえば、12345678〜ab2345cdef、12345およびab2345はすべて正しい形式ですが、12345678〜abcdefghおよび12345678〜70934527654は、2番目の部分が文字と数字の組み合わせではないため、正しい形式ではありません。
私は/^([¥d]{4,8})(~)([az\d]{0,25})$/.test('12345678~ab2345cdef ')のようなパターンで解決しようとしましたが、私は123456やab1234のような例で正しい結果を得ても正しい結果を生み出すことはできません。
どうぞよろしくお願いします。
は Mastering Lookahead and Lookbehind上の例 Regular Expressionsとチュートリアルのために、公式文書があり
期待された結果が得られないテスト文字列はどれですか?あなたはどんなエラーを出していますか? あなたのシナリオを見ると、str1だけにマッチするもの、str2にマッチするもの、str1〜str2にマッチするものの3つの正規表現を同じもの(|を使って)で組み合わせる必要があります。 。 – GCSDC
ありがとうございます。 – Dave123
私は3つの正規表現を|しかし、私が|無効な文字列であっても常に私は真実になります。 (([0-9a-zA-Z]){(6,40})|((d){12} (\ /)((\ d){12}))$ /この問題の前の主な問題は、私がアルファベットと数字の組み合わせを評価することができないということです。 – Dave123