2

我有这个正则表达式,^[A-Za-z][0-9A-Za-z\.\@\-]{7,59}$但在我看来,第一个字符类[A-Za-z]是完全多余的。那是对的吗?

4

2 回答 2

11

不,因为那是坚持字符串以 alpha 开头(以及 ASCII alpha 开头)

^是起始锚点,所以这个字符串必须以 alpha 开头——那么你可能有第二个字符类指定的任何字符。

如果您使用此正则表达式来验证字符串(某种变量名?),那么您可能还需要 end-anchor $。否则它不会关心比赛之后的事情......

^[A-Za-z][0-9A-Za-z\.\@\-]{7,59}$

这意味着该字符串的总长度不得超过 60 个字符(包括前导字母)。

于 2013-06-17T13:25:45.437 回答
3

不,因为^[A-Za-z]意味着它必须以字母开头(大写与否)。没有它,它可以以字母或数字或任何匹配的东西开头 [0-9A-Za-z\.\@\-]

于 2013-06-17T13:26:19.827 回答