gpt4 book ai didi

javascript - 为什么 regex.exec() 返回类型是 bool 值?

转载 作者:行者123 更新时间:2023-11-30 09:35:42 25 4
gpt4 key购买 nike

我对 javascript 很陌生,对正则表达式有疑问
根据this文档页面,regex.exec() 函数应该返回一个数组,如果不匹配则返回 null。

if the match succeeds, the exec() method returns an array and updates properties of the regular expression object. The returned array has the matched text as the first item, and then one item for each capturing parenthesis that matched containing the text that was captured. If the match fails, the exec() method returns null.

为什么在我的代码中,exec() 的结果是 booleannull

function matchHTMLsymbols(str)
var pattern = /&|<|>|"|' /g;
var arr;
while ((arr = pattern.exec(str) !== null)) {
console.log(arr);
}
}

最佳答案

因为 arr 不是 exec 的结果,它是 !== 的结果(应该是 true false)。

换句话说,x = y !== z 解析为 x = (y !== z),而不是 (x = y) ! == z.

你可能打算写

while ((arr = pattern.exec(str)) !== null) {

相反。

关于javascript - 为什么 regex.exec() 返回类型是 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43699229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com