JavaScript正则表达式提取标题内容

时间:2016-05-02 08:53:44

标签: javascript

我想使用正则表达式

从输入中提取标题
var str = '<a href="http://example/caraft.html" title="Queen Size">'; 
var pat = "title="([^"]+?)";
var result = str.match(pat);

输出如:title =“Queen Size”

输出需求:大号

暂时我通过使用子字符串

实现了
result = result.substring(6, (result.length-1));

我无法用正则表达式来做到这一点。
谢谢你

3 个答案:

答案 0 :(得分:1)

试试这个: - https://jsfiddle.net/ombtkp6p/

jQuery(function($) {
  var str = '<a href="http://example/caraft.html" title="Queen Size">';
  var result = $(str).attr("title");
})

JavaScript解决方案: -

var str = '<a href="http://example/caraft.html" title="Queen Size">'; 
var temp = document.createElement('div');
temp.innerHTML = str;
var htmlObject = temp.firstChild;
var result = htmlObject.getAttribute("title")

答案 1 :(得分:1)

如果你需要完全正则表达式 - 试试这个:

var str = '<a href="http://example/caraft.html" title="Queen Size">'; 
var pat = 'title="([^\"]+)?"';
var result = str.match(pat);

答案 2 :(得分:1)

var str = '<a href="http://example/caraft.html" title="Queen Size">',
    pat = 'title="([^"]+?)"',
    result = str.match(pat);

console.log(result[1]);

您的模式中的引号字符(")存在一些问题。此外str.match() returns an array containing the parentheses-captured matched results

或者,您可以对模式使用Javascript正则表达式语法:

var pat = /title="([^"]+?)"/;