正規表現に最低8文字と以下の4つのカテゴリのうちの3つの組み合わせを受け入れることを許可したかったのです。Regexは3種類の文字を受け入れますが、空白はありません
- 一つの大文字の英字
- 一つ小文字のアルファ文字
- つの数字
- つの特殊文字は良いことがある
、多くの正規表現は、私の要件のために利用可能であるが、ほとんどそれらのうちのスペースはです。
以下の正規表現は私の要件を満たしていますが、スペースも許しています。
^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d\W])(?=.*[[email protected]#\$%&/=?_\.,:;-\\]).*$
と、この1はまた、スペース
^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d\W])(?=.*[\S])
文字列が一致する必要がありますことができます:
Testing123$
Testing123
Testing$
文字列が一致していなければならない:
Test ing123
TESTING
Testing
TESTING1
testing1
testing$
私はこれをいくつかの点で修正しようとしましたが、上記のように3つの組み合わせとともにスペースを検証する正規表現を書くことができませんでした。
正規表現源:この1つは、任意の3または4の条件が、無空間を受け付ける
:Regex for checking that at least 3 of 4 different character groups exist
回答で更新。
^((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]\#$%&/=?_.,:;\\-])|(?=.*[a-z])(?=.*[0-9])(?=.*[[email protected]\#$%&/=?_.,:;\\-])|(?=.*[A-Z])(?=.*[0-9])(?=.*[[email protected]\#$%&/=?_.,:;\\-]))\S{8,}$
これは正規表現の書き込みサービスではありません。私たちは、あなたが試したことを理解するためにこのサイトを他の場所に残すつもりはありません。関連するすべてのコンテンツ(一致するべきではない*と*一致するはずのサンプルテキストを含む)と、あなた自身でそれを理解しようとする努力は、他の場所ではなくあなたの投稿*にある必要があります。それを実現するには[編集]してください。ありがとう。 –
@KenWhite:私はそれを得て、意味があります。私は私の質問と一緒に正規表現を更新しました。 – Uba
これは、私が求めていたものの3分の1です。これはスタートです。 :-)ここで、*一致してはならない*一致するはずのサンプル文字列はどこにありますか? –