每当我运行下面的代码时,我都会收到错误消息 TypeError: responseData.matchAll is not a function
var responseData = response.data.toString();
var regex = new RegExp('(<dbname>)(.*?)(?=<\/dbname>)', 'g');
var matches = responseData.matchAll(regex);
当我更换matchAll
与exec
它的工程!但是,我需要使用matchAll
。这真让我抓狂。谢谢
如果需要matchAll
,请在支持的情况下使用它:
var responseData = "<dbname>hhh</dbname>hhh<dbname>hhh3</dbname>";
var regex = new RegExp('<dbname>(.*?)(?=</dbname>)', 'g');
console.log(Array.from(responseData.matchAll(regex), x=>x[1]));
// => ["hhh","hhh3"]
您也可以使用exec
:
var responseData = "<dbname>hhh</dbname>hhh<dbname>hhh3</dbname>";
var regex = new RegExp('<dbname>(.*?)(?=</dbname>)', 'g');
while(match=regex.exec(responseData)){
console.log(match[1]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句