为什么Javascript中这个正则表达式的结果是true?

4

alert(/[a-z]+/.test("4Nyth1n&_."));

为什么输出结果是true?它不应该只匹配从a到z(小写字母)的字母吗?


该字符串包含 ythn。对我来说看起来像是“小写字母a到z的字母表” :) - Felix Kling
2个回答

8

test 只是查找一个字符串的子串匹配。在这个例子中,子串 yth 被匹配。如果您想匹配整个字符串,请插入 ^$

alert(/^[a-z]+$/.test("4Nyth1n&_."));

2

它匹配成功是因为测试字符串包含了 [a-z] 中的一个或多个字符子序列,具体来说就是 "yth" 和 "n"。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接