Regex Isn';这个[A-Za-z]字符类在这里是多余的吗?

Regex Isn';这个[A-Za-z]字符类在这里是多余的吗?,regex,Regex,我有一个正则表达式,^[A-Za-z][0-9A-Za-z\@\-]{7,59}$,但在我看来,第一个字符类[A-Za-z]是完全冗余的。这是正确的吗?否,因为它坚持字符串以alpha开头(ASCII alpha开头) ^是起始锚点,因此此字符串必须以alpha开头-然后您可以拥有第二个字符类指定的任何字符 如果您使用这个正则表达式来验证字符串(某种变量名?),那么您可能还需要结束锚点$。否则它就不会在意比赛之后会发生什么 ^[A-Za-z][0-9A-Za-z\.\@\-]{7,59}$ 这

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

否,因为它坚持字符串以alpha开头(ASCII alpha开头)

^
是起始锚点,因此此字符串必须以alpha开头-然后您可以拥有第二个字符类指定的任何字符

如果您使用这个正则表达式来验证字符串(某种变量名?),那么您可能还需要结束锚点
$
。否则它就不会在意比赛之后会发生什么

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

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

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

好的,聪明的,到目前为止还不错。但事实上,所有回答过的人都必须承认,重复两次
[A-Za-z]
有点湿。如何做到只提一次?@BorisStitnicky我不确定我是否理解你的意思,但是
^[A-Za-z]
[0-9A-Za-z\.-]{7,59}
的一个单独要求,所以它们不能结合起来…@BorisStitnicky,我不确定你能做到,如果它能满足整体要求的那一部分,我同意它的存在。是的,缺少副本上的尾随
$
。他们已经在那里了。奇妙的回答,朋友@MichaelPerrenoud哈哈好的,一切都很好!:)