1

少なくとも 3 つの英語のアルファベットを含む任意の文字列を受け入れる正規表現が必要です。アルファベットは文字列のどこにでも入れることができます。

テストケース:

戻る必要trueがあります:

abc
これはテストです
この 123 という数字は $@!! です。
123ABC289389798

戻る必要falseがあります:

ab
ab213823897

編集: 申し訳ありませんが、3 つの英語のアルファベットが必要であることを明確にする必要があります。アルファベットは文字列のどこにでも入れることができます。

4

5 に答える 5

7

このようなものはどうですか?

[A-Za-z].*[A-Za-z].*[A-Za-z]

[A-Za-z] は、AZ または az の任意の文字に一致します。この正規表現は、これらの文字が 3 つあることを保証します。.* は任意の数の任意の文字に一致するため、3 つのアルファベット文字は連続していても、前後または間に何かがあってもかまいません。

http://gskinner.com/RegExr/のような正規表現ツールでテストしてください。

次のように統合することもできます。

([A-Za-z].*){3}

編集: \w を [A-Za-z] に置き換え、説明を追加しました。

EDIT2: @nhahtdh に感謝します。文字列全体をカバーするのではなく、一致のみが必要なため、先頭と末尾から .* を削除しました。

于 2013-05-14T13:38:17.627 に答える
3

すべての文字を連続して true に戻したい場合は、次のようにします。

[a-zA-Z]{3,}

これにはスペースは含まれません。

これらを背中合わせに配置する必要がない場合は、次のことを試してください。

[a-zA-Z].*?[a-zA-Z].*?[a-zA-Z]
于 2013-05-14T13:40:40.347 に答える
1

多分 :

/([a-z]|[A-Z]){3,}/

http://jsbin.com/oleseb/1/edit

于 2013-05-14T13:39:26.037 に答える
1

これはうまくいきます:

[a-zA-Z]{3,}

3 つ以上のa-z&A-Z文字に一致します

于 2013-05-14T13:40:55.187 に答える
0

ここに1つの解決策があります:

string.replace(/[\W^\d]/g, '').length >= 3;
于 2013-05-14T13:41:35.113 に答える