繁体   English   中英

正则表达式匹配HTML中的“>”

[英]Regex to match “>” in HTML

我需要一个正则表达式,它与HTML字符串中的“>”字符匹配,但与标签的右括号不匹配。 例:

<span id =“ bla”> bla bla a> b bla bla bla <a> bla </a> </ span>

正则表达式应该匹配“>” 一个 ANB B之间

您可以在后面使用负数: (?<!\\<[^>]+)\\>
未经 测试

这将匹配任何不以HTML开头开头的>字符(以<开头且不包含>的序列)

以下正则表达式应该起作用:

([^/]>)+

您需要的是一个正则表达式,它找到“未配对”的大于号; 在标记中未包含<的> s。

试试这个: "(?<!\\<[^<>]+)\\>"应该匹配大于-而不是HTML标记的一部分; 就是说,一个结构由小于号,除尖括号字符之外的一些字符组成,然后由大于组成。

编辑:放入SLak的建议。 我将<保留在“ not match”块中,以防被匹配的小于也不也是标签的一部分,例如<<或<-。 它不应该损害模式匹配适当标签的能力。

一个特定的解决方案,而不只是一个警告:

如果您给它不好的标记,Beautiful Soup不会窒息。它产生的解析树与原始文档的意义差不多。这通常足以收集所需的数据并消失。 ”- http:/ /www.crummy.com/software/BeautifulSoup/

不要使用正则表达式来解析html-

在任何经验的程序员中,尝试用正则表达式解析HTML通常被认为是一个坏主意。 ”- 链接

和“ 您无法使用正则表达式解析[X] HTML ”-张贴本文时占4352票

解析HTML是一个已解决的问题。您不需要解决它。您只需要变得懒惰。变得懒惰,请使用... ”为此目的而设计的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM