数组:无法读取null的属性“0”

问题描述 投票:0回答:1

我试图访问str.match的返回值的第一个值,并得到一个错误。 console.log(match)工作并返回一个数组,但console.log(match[0])没有。

输入字符串:

.test {
    color: black;
    background: url(asd.jpg)
}

功能:

const parseFiles = (data) => {
    const regex = new RegExp(/url\(.*?\)/);
    const match = data.match(regex);
    console.log(match);
};

输出:

[ 'url(asd.jpg)',
  index: 38,
  input: '.test {\n  color: black;\n  background: url(asd.jpg); }\n' ]

使用console.log(match[0])时出错:

TypeError: Cannot read property '0' of null
    at parseFiles (F:\10\dev\PhpStormProjects\sassmann\lib\index.js:36:22)
    at Object.sass.render [as callback] (F:\10\dev\PhpStormProjects\sassmann\lib\index.js:29:9)
    at options.success (F:\10\dev\PhpStormProjects\sassmann\node_modules\node-sass\lib\index.js:308:32)

javascripts 2.1

我忽略了什么吗?

node.js regex
1个回答
1
投票

node -v

如果字符串与表达式匹配,它将返回一个包含整个匹配字符串作为第一个元素的Array,后跟括号中捕获的任何结果。如果没有匹配项,则返回null。

© www.soinside.com 2019 - 2024. All rights reserved.