Regex:必须以字母或数字开头,但其余部分可以是任何内容


Regex: must start with a letter or a number but the rest can be anything

我正在尝试构建一个模式,以便在验证中使用。

我的目标是让第一个字符是字母或数字,其余的都是。

i.ex:

  1. A'r4nd0m
  2. 9!h3ll0
  3. b1llin6s

我想到了:[a-zA-Z0-9_/][.*]++

解决方案是什么?

谢谢!

正如我所评论的,字母或数字是['pL'pN]。因此,以其中一个开头的字符串将与模式匹配

/^['pL'pN]/

如果第一个数字是数字或字母,则为^[A-Za-z0-9]。(^与字符串的开头相匹配。)对于其余的内容,一个简单的.*就足够了,所以就有了^[A-Za-z0-9].*

您可以稍微精简正则表达式:

^[a-zA-Z0-9].*

以字母/数字开头,可以是任何长度或后面的任何字符。

必须使用/^/将正则表达式锚定在字符串的开头。您的字符类[a-zA-Z0-9_/]还匹配下划线和斜杠:这是您想要的吗?此外,[.*]++匹配一个或多个点或星,后面的+多余地复制了量词。

由于字符串的剩余部分可以是"任何东西",因此没有必要匹配它,并且

/^[A-Za-z0-9]/

会做得很好。