<分区>
为什么这段代码先返回true,然后返回false
var pattern = new RegExp("mstea", 'gi'), name = "Amanda Olmstead";
console.log('1', pattern.test(name));
console.log('1', pattern.test(name));
演示:Fiddle
标签 javascript regex
<分区>
为什么这段代码先返回true,然后返回false
var pattern = new RegExp("mstea", 'gi'), name = "Amanda Olmstead";
console.log('1', pattern.test(name));
console.log('1', pattern.test(name));
演示:Fiddle
最佳答案
g
用于重复搜索。它将正则表达式对象更改为迭代器。如果您想使用 test
函数根据您的模式检查您的字符串是否有效,请删除此修饰符:
var pattern = new RegExp("mstea", 'i'), name = "Amanda Olmstead";
test
函数,与 replace
或 match
不同,它不会消耗整个迭代,这让它处于“坏”状态.在使用 test
函数时,您可能不应该使用此修饰符。
关于javascript - 为什么连续调用 `pattern.test(name)` 结果相反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15610251/
相关文章:
java - 为什么正则表达式 [^-?0-9]+ 忽略 '?' ?
java - 正则表达式 : filter a character in an expression but not inside the quotation mark
python - 在 python 3.x 中使用正则表达式抓取字符串的一部分
javascript - 带有 JQuery 音频的 HTML5 音频标签
javascript - Js如何从fetch()获取数据到服务器?
javascript - 如何从javascript中的对象列表中删除重复项