正则表达式获取几个html标签之间的文本

时间:2017-06-28 17:11:29

标签: regex

从Oreilly Mastering正则表达式一书中,我发现了这个例子:

仅采用<a href="http://www.oreilly.com">O’Reilly Media</a>

中的文字

他建议使用像<a\b([ˆ>]+)>(.+?)</a>

这样的正则表达式

但对我来说,没有运气只能抓住文字。

拜托,可以告诉我如何构建正则表达式只捕获文本。

我试着理解正则表达式,所以请礼貌,不要告诉我使用其他方法来解析html。

谢谢。

1 个答案:

答案 0 :(得分:0)

要显示标签之间的所有文字,请删除标签。

<(?:(?:(?:(script|style|object|embed|applet|noframes|noscript|noembed)(?:\s+(?>"[\S\s]*?"|'[\S\s]*?'|(?:(?!/>)[^>])?)+)?\s*>)[\S\s]*?</\1\s*(?=>))|(?:/?[\w:]+\s*/?)|(?:[\w:]+\s+(?:"[\S\s]*?"|'[\S\s]*?'|[^>]?)+\s*/?)|\?[\S\s]*?\?|(?:!(?:(?:DOCTYPE[\S\s]*?)|(?:\[CDATA\[[\S\s]*?\]\])|(?:--[\S\s]*?--)|(?:ATTLIST[\S\s]*?)|(?:ENTITY[\S\s]*?)|(?:ELEMENT[\S\s]*?))))>

https://regex101.com/r/B4Dhkj/1