正则表达式获取html标记值

时间:2017-06-07 20:58:31

标签: javascript

这是我的HTML字符串<img class='left' alt='&quot;&quot;' src='182-35622' title='MyImage_147x91.png' uri='182-35622' style='width: 147px; height: 91px;'> 如何使用javascript从正则表达式中获取“title”值。

我希望输出应为“MyImage_147x91.png”

有什么建议吗?

我到目前为止尝试了它不起作用

 var htmlString = "<img class='left' alt='&quot;&quot;' src='182-35622' title='MyImage_147x91.png' uri='182-35622' style='width: 147px; height: 91px;'>"

 var setCookieMetaRegExp = /<img title=[\"'](.*)[\"'].*>/ig;

 var matches = [];

while (setCookieMetaRegExp.exec(htmlString)) {
  //matches.push(RegExp.$1);
}

3 个答案:

答案 0 :(得分:1)

为什么不使用HTML DOM信息来获取图片标题?

&#13;
&#13;
var img = document.querySelector('img.left');
console.log(img.title);
&#13;
<img class='left' alt='&quot;&quot;' src='182-35622' title='MyImage_147x91.png' uri='182-35622' style='width: 147px; height: 91px;'>
&#13;
&#13;
&#13;

如果你真的需要在字符串上使用正则表达式,请尝试以下:

&#13;
&#13;
var s = "<img class='left' alt='&quot;&quot;' src='182-35622' title='MyImage_147x91.png' uri='182-35622' style='width: 147px; height: 91px;'>";
var regex = /title\s*=\s*'([^']*)/;
console.log(regex.exec(s)[1]);
&#13;
&#13;
&#13;

正则表达式DEMO及解释

答案 1 :(得分:0)

你应该avoid using regular expressions to parse HTML。相反,请使用getAttribute方法:

const img = document.querySelector('.left');
img.getAttribute('title'); // => MyImage_147x91.png

答案 2 :(得分:0)

你可以使用这样的东西。

title='([^']+)'

使用this网站了解正则表达式。虽然根据这个问题的其他答案,有更好的方法可以做到这一点。