伙计们,让我知道一个正则表达式,它只测试字母,即使没有数字。
^[a-zA-Z\s]+$
这样不行。它也接受数字
cgfeq70w1#
表达式不是问题所在,执行正则表达式匹配的代码中有其他错误,但您没有将其包含在问题中。表达正确;它不接受数字。它将只接受一个或多个小写字母从a到z,大写字母从A到Z和空格。我已经包含了一个代码片段,您可以在下面运行以查看实际的表达式。注意第二个结果如何返回null。
a
z
A
Z
null
// matches, returns ["no numbers"] console.log("no numbers".match(/^[a-zA-Z\s]+$/)) // does not match, null console.log("1 number".match(/^[a-zA-Z\s]+$/))
5q4ezhmt2#
无论谁冒险进入这个线程,并寻求这个古老但仍然有用的问题的答案:在这个例子中,我试图从无数单词和短语的数组中匹配没有任何数字的单词。如果运行代码,您可以清楚地看到,包含数字的单词将不匹配,因此不会被发布。我添加了一个更改“.toLower()”,以便任何匹配都以小写形式呈现,无论它是名词还是动词,因为它与我的情况无关。$arrayofwords = @(“感谢您为Stack Overflow提供答案!”;“不是你要找的答案吗?浏览标记为“”的其他问题;“1asdasdfasc7”;“asdasd7gadfs”;“第七街”;“RAL4051”)$matchpattern =“\B[a-zA-Z]+\b”[regex]::Matches($arrayofwords,$matchpattern)|ForEach-Object { $_.Value.ToLower()}
2条答案
按热度按时间cgfeq70w1#
表达式不是问题所在,执行正则表达式匹配的代码中有其他错误,但您没有将其包含在问题中。
表达正确;它不接受数字。它将只接受一个或多个小写字母从
a
到z
,大写字母从A
到Z
和空格。我已经包含了一个代码片段,您可以在下面运行以查看实际的表达式。注意第二个结果如何返回
null
。5q4ezhmt2#
无论谁冒险进入这个线程,并寻求这个古老但仍然有用的问题的答案:
在这个例子中,我试图从无数单词和短语的数组中匹配没有任何数字的单词。如果运行代码,您可以清楚地看到,包含数字的单词将不匹配,因此不会被发布。我添加了一个更改“.toLower()”,以便任何匹配都以小写形式呈现,无论它是名词还是动词,因为它与我的情况无关。
$arrayofwords = @(“感谢您为Stack Overflow提供答案!”;“不是你要找的答案吗?浏览标记为“”的其他问题;“1asdasdfasc7”;“asdasd7gadfs”;“第七街”;“RAL4051”)
$matchpattern =“\B[a-zA-Z]+\b”
[regex]::Matches($arrayofwords,$matchpattern)|ForEach-Object { $_.Value.ToLower()}