相当简单的 HTML(省略号表示有更多代码):
...Profile">
Some text
</a>...
使用 JavaScript 的在线 RegEx 测试器(http://regexpal.com/),我可以使用以下表达式提取“一些文本”(注意它包含换行符):
(?=Profile">)[\s\S]*(?=</a)
(不幸的是,JavaScript 不支持look-behinds,所以我也提取了Something"> 以稍后删除它。但是,问题是下面的代码
var ShowContent = document.getElementById(id);
ShowContent = ShowContent.innerHTML;
var patt3=/Profile">[\s\S]*(?=<)/;
var GetName=patt3.exec(ShowContent);
alert(GetName);
不提取在线测试器显示的内容,但它还包括“某些文本”之后的整个 HTML 代码(IE,不仅是结尾< /a
,还包括后面的所有内容)。
有没有人有什么建议?