Regex 不带空格或数字的名字的正则表达式模式
我有这个正则表达式模式 /^[^-\s][^0-9][a-zA-Z\s-]+$/ 我有点搞不懂为什么我要测试它Regex 不带空格或数字的名字的正则表达式模式,regex,Regex,我有这个正则表达式模式 /^[^-\s][^0-9][a-zA-Z\s-]+$/ 我有点搞不懂为什么我要测试它 我的模式允许在字符串之前添加一个数字。这意味着,如果我输入'2Mantas',它仍然会接受它,而'22Mantas'将无法通过测试。我不希望任何数字或空格被允许。任何人有什么想法吗?当前正则表达式中的前两条规则分为以下几条: ^[^\s-]-字符串中的第一个字符不应是空格或连字符。这解释了为什么接受2steve-2不是空格或连字符 [^0-9]-字符串中的第二个字符不应是数字。这解释了
我的模式允许在字符串之前添加一个数字。这意味着,如果我输入'2Mantas',它仍然会接受它,而'22Mantas'将无法通过测试。我不希望任何数字或空格被允许。任何人有什么想法吗?当前正则表达式中的前两条规则分为以下几条:
^[^\s-]
-字符串中的第一个字符不应是空格或连字符。这解释了为什么接受2steve
-2
不是空格或连字符[^0-9]
-字符串中的第二个字符不应是数字。这解释了为什么不接受22steve
——第二个位置的2
是一个数字,这违反了此规则/^[A-Za-z][A-Za-z-\s]+$/
您有两个否定组,因此第一个字符不能是空格,第二个字符不能是数字。如果将空格和数字放在第一个括号中,它将按需要工作
^[^-\s\d][a-zA-Z\s-]+$
这应该行得通
Get string,它正好以一个数字开始,在这个数字之后应该是表达式,它只包含字符串(贪婪)
请提供一些应该通过的示例输入,以及一些应该失败的示例输入。如果在“5steve”“2daniel”等之前包含一个数字,则任何字符串都可以通过,但“22steve”将失败。是的,您已在上面指出了这一点。你能提供一些应该通过和不应该通过的输入吗?例如,我们可以假设
5steve
和2daniel
不应该通过,但是你能给我们举个例子说明什么应该通过吗?如果你在名称前添加一个数字,它仍然会通过@mantastanionis-是的,你是对的,我的错误,我已经更新了我的正则表达式。
^\d{1}([a-zA-Z]+)