Java 用于标识不应嵌套的锚标记的正则表达式

Java 用于标识不应嵌套的锚标记的正则表达式,java,regex,Java,Regex,从html源代码中,我必须识别不应该嵌套的锚标记 例如: <a href="http://www.abc.com">abc<a href="http://www.dbc.com">dbc</a> 从第一场比赛开始,它应该会回来 <a href="http://www.abc.com">abc 在查找时,如果未嵌套,则应该从打开的锚标记返回到关闭的锚标记。如果它是嵌套的,它应该在嵌套的开放锚标记开始之前将字符串从开放锚标记返回到 请帮忙。

从html源代码中,我必须识别不应该嵌套的锚标记

例如:

<a href="http://www.abc.com">abc<a href="http://www.dbc.com">dbc</a>

从第一场比赛开始,它应该会回来

<a href="http://www.abc.com">abc

在查找时,如果未嵌套,则应该从打开的锚标记返回到关闭的锚标记。如果它是嵌套的,它应该在嵌套的开放锚标记开始之前将字符串从开放锚标记返回到


请帮忙。提前谢谢

我建议使用。尽管它的名字是HTML解析器,它将处理所有出现正则表达式的边缘情况(毫不奇怪,HTML不是正则的)。

我建议使用。尽管它的名字叫HTML解析器,但它将处理所有导致正则表达式出错的边缘情况(毫不奇怪,HTML不是正则表达式)。

你必须使用正则表达式吗?因为如果您不必使用正则表达式,我建议使用xml解析器来查找嵌套的A标记。您必须使用正则表达式吗?因为如果不必使用正则表达式,我建议使用xml解析器来查找嵌套的A标记。但是为什么我们不能尝试使用正则表达式呢?因为正则表达式只能与正则构造一起可靠地使用!正如您所发现的,HTML可以以非正则的方式形成,而正则表达式缺乏成功解释这一点的能力。我承认正则表达式仅在正则构造上有效。但是我们在预定义的情况下试着这样做。不要重新发明轮子,你已经用Jav标记了这个问题,所以使用JTidy来验证你的HTML,而不要知道HTML是不规则的。但是为什么我们不能尝试使用正则表达式呢?因为正则表达式只能与正则构造一起可靠地使用!正如您所发现的,HTML可以以非正则的方式形成,而正则表达式缺乏成功解释这一点的能力。我承认正则表达式仅在正则构造上有效。但是我们在预定义的情况下尝试了这一点。不要重新发明轮子,你已经用Jav标记了这个问题,所以使用JTidy来验证你的HTML
<a href="http://www.dbc.com>dbc</a>