Javascript 如何在js中使用.match(regEx)仅获取不带分隔符的内部字符串?
你好,我正在尝试用js解析xml字符串。我的字符串与下面的字符串相似。我正在使用正则表达式的.match()函数Javascript 如何在js中使用.match(regEx)仅获取不带分隔符的内部字符串?,javascript,jquery,regex,string,Javascript,Jquery,Regex,String,你好,我正在尝试用js解析xml字符串。我的字符串与下面的字符串相似。我正在使用正则表达式的.match()函数 var str='<rate val="xyz"></rate> <rate val="klm"></rate> <rate val="mnp"></rate>'; var result=str.match(/val="(.+?)"/g); 但它给了我 ["rate val="xyz"","rate val="
var str='<rate val="xyz"></rate> <rate val="klm"></rate> <rate val="mnp"></rate>';
var result=str.match(/val="(.+?)"/g);
但它给了我
["rate val="xyz"","rate val="klm"","rate val="mnp""]
如何仅获取没有属性名称的值 您可以使用
filter
和map
的组合来获得数组中元素的属性,而不是使用正则表达式:
var str = '<rate val="xyz"></rate> <rate val="klm"></rate> <rate val="mnp"></rate>';
var result = $(str).filter('rate').map(function() {
return $(this).attr('val');
}).get();
console.log(result);
var-str='';
var result=$(str).filter('rate').map(函数(){
返回$(this.attr('val');
}).get();
控制台日志(结果);
查找“非捕获组”。我注意到你恢复了我的编辑--你不应该以“你好”开始提问
var str = '<rate val="xyz"></rate> <rate val="klm"></rate> <rate val="mnp"></rate>';
var result = $(str).filter('rate').map(function() {
return $(this).attr('val');
}).get();
console.log(result);