正则表达式选取标签之间的所有文本

202

如何选择两个标签之间的所有文本-例如:页面上所有“<pre>”标签之间的文本。


2
最好的方法是使用像“Beautiful Soup”这样的HTML解析器,如果你喜欢Python的话... - Fredrik Pihl
1
最好的方法是使用XML/HTML解析器。 - Daniel O'Hara
4
通常情况下,使用正则表达式解析HTML并不是一个好主意:https://dev59.com/X3I-5IYBdhLWcg3wq6do。 - murgatroid99
不要使用正则表达式解析标签之间的文本,因为任意嵌套的标签会使HTML变得不规则。匹配标签似乎是可以的。/<div>.*?<\/div>/.exec("<div><div></div></div>") - jdh8
<div\s+id="HEADER">(.|\n)*?</div>$ - Vishal Sinha
23个回答

-1

对于多行:

<htmltag>(.+)((\s)+(.+))+</htmltag>

-1
在JavaScript(以及其他语言)中,这很简单。它涵盖了属性和多行:
/<pre[^>]*>([\s\S]*?)<\/pre>/

-4
<pre>([\r\n\s]*(?!<\w+.*[\/]*>).*[\r\n\s]*|\s*[\r\n\s]*)<code\s+(?:class="(\w+|\w+\s*.+)")>(((?!<\/code>)[\s\S])*)<\/code>[\r\n\s]*((?!<\w+.*[\/]*>).*|\s*)[\r\n\s]*<\/pre>

6
请用言语介绍/解释您的答案。 - Andrew Regan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接