开发者问题收集

RegEx 结果中的“无法读取 null 的属性‘length’”

2016-08-21
1095

我不明白为什么我尝试执行这个简单的 JS 代码后会出现错误:

<!DOCTYPE html>
<html>
<script>
    var str = "x*1/2";
    var patt1 = /( * | \/)/g;
    var result = str.match(patt1);
    document.write(result.length);
</script>
</html>
1个回答

I don`t understand why I get an error after I try to execute this simple JS code

发生这种情况是因为您的模式无法匹配提供的输入 “x*1/2” 。因此 match 返回 null 。请考虑以下代码片段,其中我们使用了一个无意义的模式,但可以匹配此输入。

var str = "x*1/2";
var patt1 = /([*]?\/)/g;
var result = str.match(patt1);
console.log(result.length);
Christos
2016-08-21