【发布时间】:2018-09-06 21:14:28
【问题描述】:
我有这段代码,我想知道为什么它会记录 true:
console.log(/[A-Za-z0-9-_:]/.test('zoom^Bar'));
我会假设插入符号会使正则表达式失败,为什么它会通过?
只想说这个问题很简单,但可能对其他人有帮助,而且“重复”问题对我来说并不真正喜欢简单的欺骗。
【问题讨论】:
-
它不检查整个字符串。它检查字符集中的字符是否与输入字符串匹配。
-
我尝试了 /g 标志,但还是一样
-
如何让它测试整个字符串?
-
你在找
console.log(/^[A-Za-z0-9-_:]+$/.test('zoom^Bar')); -
函数
test返回真,因为它找到了匹配项。您需要锚点来确保整个字符串中不存在其他字符。这个问题很可能是重复的。
标签: javascript node.js regex