我想使用正则表达式
从输入中提取标题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));
我无法用正则表达式来做到这一点。
谢谢你
答案 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="([^"]+?)"/;