Javascript正则表达式匹配字符串,但只显示文本

Javascript regex to match string but only show text

本文关键字:显示 文本 字符串 正则表达式 Javascript      更新时间:2023-09-26

我有一个HTML元素,里面有一个标题,像这样。<details>Name of page</details>

我如何使一个正则表达式搜索<details>元素,但只返回里面的文本,Name of page ?

永远不要使用正则表达式来解析HTML。特别是当您使用的环境提供了一个DOM解析器时,不是。就用它吧:

var docpart = document.createElement("div"),
    details, text = '';
docpart.innerHTML = "your <details>&hellip;HTML string&hellip;</details> here";
details = docpart.getElementsByTagName("details");
if (details.length > 0) {
  text = details[0].textContent;
}
alert(text);  // "…HTML string…"

既然你在评论中提到了jQuery,事情就变得简单了。下面是上面代码的jQuery版本:

var inputHTML = "your <details>&hellip;HTML string&hellip;</details> here";
var details = $("<div>", {html: inputHTML}).find("details").text();

这个正则表达式:

/<details>(.*?)<'/details>/

$1 regex变量将包含名称