正则表达式以html格式从字符串中提取文本

ins*_*elf 3 javascript regex

我目前收到html格式的响应错误.它是字符串类型.

"<!DOCTYPE html>\r\n
<html>
  <head>
    <title>Data already exists</title>
  </head>
</html>"
Run Code Online (Sandbox Code Playgroud)

我想检索里面的内容<title>,对于上面的例子"数据已经存在".任何人都可以建议一个适当的正则表达式来捕获该文本.

请任何帮助表示赞赏!

Joã*_*lva 5

首先,你可以通过创建一个虚拟元素来注入HTML,而无需正则表达式:

var s = "your_html_string";
var dummy = document.createElement("div");
dummy.innerHTML = s;
var title = dummy.getElementsByTagName("title")[0].innerText;
Run Code Online (Sandbox Code Playgroud)

但如果你真的坚持使用正则表达式:

var s = "your_html_string";
var title = s.match(/<title>([^<]+)<\/title>/)[1];
Run Code Online (Sandbox Code Playgroud)

这是一个说明这两种方法的DEMO.