4

正規表現の文字数を指定する方法を知りたいと思いました。私は正しい正規表現を持っています。これが0から40文字の検証で機能することを確認する必要があるだけです。

これが正規表現です

$fnameRegex = "/^[a-zA-Z0-9{0,40}-_]+$/";

{0,40}を間違った場所に置いた可能性があります。

4

3 に答える 3

11

試す

$fnameRegex = "/^[a-zA-Z0-9\-_]{0,40}$/";

文字クラス内のすべての文字は、[]1 つの文字にのみ一致します。数量リミッターをその外側に配置します (以前+は 1 以上でした - 0 から 40 の間の {0, 40} に置き換えます)。

-また、文字クラスで文字をエスケープしました。そうしないと、範囲として解釈されます。

また、正規表現をインタラクティブにいじるのに適した優れた正規表現 Web サイトもお勧めします。

于 2013-02-01T03:47:32.710 に答える
1

[a-zA-Z0-9]{40} を試し てください。 これにより、大文字と小文字を含む 40 文字の英数字がチェックされます

于 2014-07-20T05:52:58.400 に答える
-2

これはどうですか?

^(\d){0,40}$

\d は数字のみに一致 {0,40} は、前の式 (\d) が 0 ~ 40 回存在できることを示します。

このツールを使用して、正規表現を確認できます。役に立つかもしれません: http://gskinner.com/RegExr/

お役に立てれば

于 2013-02-01T03:49:20.380 に答える