我正在尝试访问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)
node -v
v9.2.1
我忽略了什么吗?
答案 0 :(得分:1)
如果字符串与表达式匹配,它将返回一个数组 包含整个匹配的字符串作为第一个元素,后跟 括号中捕获的任何结果。 如果没有匹配项,则为null 返回。强>