正则表达式,用于从html格式的字符串中提取文本
Regular expression to extract text from a string in html format
我当前收到html格式的响应错误。它的类型是字符串。
"<!DOCTYPE html>'r'n
<html>
<head>
<title>Data already exists</title>
</head>
</html>"
我想检索<title>
中的内容,例如上面的实例"数据已经存在"。有人能建议一个合适的正则表达式来捕捉文本吗。
请提供任何帮助,我们将不胜感激!
首先,您可以在没有regex的情况下通过创建一个伪元素来注入HTML:
var s = "your_html_string";
var dummy = document.createElement("div");
dummy.innerHTML = s;
var title = dummy.getElementsByTagName("title")[0].innerText;
但如果你真的坚持使用regex:
var s = "your_html_string";
var title = s.match(/<title>([^<]+)<'/title>/)[1];
下面是演示这两种方法的DEMO。
在regex中解析html标记的基本原理是这样的。http://jsbin.com/oqivup/1/edit
var text = /<(title)>(.+)<'/'1>/.exec(html).pop();
但对于更复杂的东西,我会考虑使用一个合适的解析器。
您可以使用DOMParser()
:解析它
var parser=new DOMParser(),
doc=parser.parseFromString("<!DOCTYPE html><html><head><title>Data already exists</title></head></html>","text/html");
doc.title; /* "Data already exists" */
相关文章:
- 如何在Javascript中从字符串中提取某些单词
- innerHTML的子字符串可以在初始调用时提取吗
- 从字符串中提取年份的Javascript正则表达式
- 使用javascript从字符串中提取浮点数
- 如何使用另一个字符串作为模板从字符串中提取数据
- Regex模式匹配,从Javascript中的字符串中提取时间,结果出乎意料
- 正在从字符串中提取日期
- 使用gulp-angular gettext从JS文件中提取字符串不起作用
- 如何在系列数据中包含字符串以提取工具提示点格式
- 通过正则表达式从字符串中提取Url
- 正则表达式,用于从html格式的字符串中提取文本
- Javascript:如何通过Regexp从属性中提取字符串
- 如何删除“"使用javascript从字符串中提取字符
- 如何从由“”分隔的字符串中提取最后一个文本|&”;
- 从html标记格式的字符串中提取键值对
- 简单的javascript字符串提取
- 如何通过jquery或javascript从日期字符串提取日期格式
- 在Javascript中从字符串提取值到数组
- 如何将元组字符串提取到数据结构中
- 我如何从JavaScript中的URL字符串提取值