Javascript正则表达式 - 匹配2个子串

时间:2016-05-06 12:49:28

标签: javascript regex match

我不是最好的正则表达式,需要一些帮助。

我有这样的字符串:data-some-thing =" 5 10 red"。 Word'数据 - 一些'是不变的'事情'变化。 '的事情'也可能包含短划线。双引号中的值仅包含字母数字符号或空格。

是否有可能获得'和仅使用正则表达式的双引号中的值?如果是,那么我应该使用什么表达式?我尝试过使用外观,但没有取得多大成功。

1 个答案:

答案 0 :(得分:3)

您可以使用:

var result = data.match(/data-some-(.*?)="(.*?)"/);

结果数组将包含三个元素:

  • 0:完全匹配(不符合您的兴趣)
  • 1:等号前的可变部分
  • 2:引号之间的值。

演示:



var data = 'data-some-thing="5 10 red"';
var result = data.match(/data-some-(.*?)="(.*?)"/);

document.write(result[1] + '<br>' + result[2]);
&#13;
&#13;
&#13;

<强>声明:

请注意,如果您在较大的HTML解析环境中执行此操作(问题中未提及),则不应使用正则表达式。相反,您应该将HTML字符串加载到DOM中,并使用DOM方法查找您感兴趣的属性名称和值对。

对于 node.js ,您可以使用npm模块jsdomhtmlparser来执行此操作。