javascript - 如何在js中使用.match(regEx)仅获取没有分隔符的内部字符串?

标签 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);

我想得到一个结果数组,例如:

 ["xyz","klm","mnp"]

但它给了我作为

["rate val="xyz"","rate val="klm"","rate val="mnp""]

如何只获取没有属性名称的值?

最佳答案

您可以使用 filtermap 的组合来根据需要将元素的属性获取到数组中,而不是使用正则表达式:

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);

Example fiddle

关于javascript - 如何在js中使用.match(regEx)仅获取没有分隔符的内部字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27384253/

相关文章:

javascript - 保存带有内部元素的 div 并向所有人展示

javascript - 无法在我的客户表单中选择一个值并将其标记为在 Silvio Moreto 的 selectpicker 中选择

javascript - jquery:如何监听一个容器 div 的图像加载事件?

javascript - 使用javascript从字符串中删除 "Form"标签及其内容

javascript - Angular 和 TypeScript 循环遍历对象

javascript - 如何减少 react 的进口

javascript - 正则表达式不会在循环中返回 true

python - 使用 Python 按列组织数据文件的有效方法

javascript - 使用 JavaScript 对某些日期进行排序

javascript - 通过 webpack 从 typescript 导出对象并在 JS 中使用