我对 JavaScript 比较陌生,遇到了正则表达式的问题。
根据这个文档(链接) ,regex.exec() 函数应该返回一个数组或者 null 如果匹配失败。
引用如下: “如果匹配成功,exec() 方法会返回一个数组并更新正则表达式对象的属性。返回的数组第一项是匹配到的字符串,后面每一项就是括号内匹配到的字符串。 如果匹配失败,则 exec() 方法返回 null。”
那么为什么在我的代码中,exec() 的结果要么是一个布尔值,要么就是 null?
根据这个文档(链接) ,regex.exec() 函数应该返回一个数组或者 null 如果匹配失败。
引用如下: “如果匹配成功,exec() 方法会返回一个数组并更新正则表达式对象的属性。返回的数组第一项是匹配到的字符串,后面每一项就是括号内匹配到的字符串。 如果匹配失败,则 exec() 方法返回 null。”
那么为什么在我的代码中,exec() 的结果要么是一个布尔值,要么就是 null?
function matchHTMLsymbols(str)
var pattern = /&|<|>|"|' /g;
var arr;
while ((arr = pattern.exec(str) !== null)) {
console.log(arr);
}
}