我正在尝试构建一个模式以便在验证中使用。
我的目标是让第一个字符成为字母或数字,其余的是任意的。
i.ex:
我想到了:[a-zA-Z0-9_/][.*]++
解决方案是什么?
谢谢!
答案 0 :(得分:6)
正如我所说,一封信或一个数字是[\pL\pN]
。因此,以其中一个开头的字符串将匹配模式
/^[\pL\pN]/
答案 1 :(得分:4)
如果第一个数字是数字或字母,则为^[A-Za-z0-9]
。 (^
匹配字符串的开头。)剩下的就是一个简单的.*
就足够了,所以你有^[A-Za-z0-9].*
。
答案 2 :(得分:2)
你可以稍微减少你的正则表达式:
^[a-zA-Z0-9].*
以字母/数字开头,可以是任意长度或之后的任何字符。
答案 3 :(得分:2)
您必须使用/^/
将正则表达式锚定在字符串的开头。你的角色类[a-zA-Z0-9_/]
也匹配下划线和斜线:这是你想要的吗?此外,[.*]++
匹配一个或多个点或星号,尾随+
多余地复制量词。
由于字符串的其余部分可以是“任何”,因此没有必要匹配它,
/^[A-Za-z0-9]/
会好起来的。