regex 仅字母正则表达式不带数字

irtuqstp  于 2023-06-30  发布在  其他
关注(0)|答案(2)|浏览(119)

伙计们,让我知道一个正则表达式,它只测试字母,即使没有数字。

^[a-zA-Z\s]+$

这样不行。它也接受数字

cgfeq70w

cgfeq70w1#

表达式不是问题所在,执行正则表达式匹配的代码中有其他错误,但您没有将其包含在问题中。
表达正确;它不接受数字。它将只接受一个或多个小写字母从az,大写字母从AZ和空格。
我已经包含了一个代码片段,您可以在下面运行以查看实际的表达式。注意第二个结果如何返回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]+$/))
5q4ezhmt

5q4ezhmt2#

无论谁冒险进入这个线程,并寻求这个古老但仍然有用的问题的答案:
在这个例子中,我试图从无数单词和短语的数组中匹配没有任何数字的单词。如果运行代码,您可以清楚地看到,包含数字的单词将不匹配,因此不会被发布。我添加了一个更改“.toLower()”,以便任何匹配都以小写形式呈现,无论它是名词还是动词,因为它与我的情况无关。
$arrayofwords = @(“感谢您为Stack Overflow提供答案!”;“不是你要找的答案吗?浏览标记为“”的其他问题;“1asdasdfasc7”;“asdasd7gadfs”;“第七街”;“RAL4051”)
$matchpattern =“\B[a-zA-Z]+\b”
[regex]::Matches($arrayofwords,$matchpattern)|ForEach-Object { $_.Value.ToLower()}

相关问题