Java 用正则表达式进行条件替换

Java 用正则表达式进行条件替换,java,regex,replace,Java,Regex,Replace,我希望在HTML链接列表上运行正则表达式,并删除所有目标属性。然后,如果href指向PDF文档,我想添加一个值为“\u blank”的目标属性 这是到目前为止我的尝试的链接(由于某些原因,在我保存时,开始的括号一直更改为“<;”。您可能需要更改这些括号,以便我尝试工作 如您所见,目标属性已被删除,我已将新的目标属性添加到所有结果中。我不能做的只是将目标属性添加到PDF的链接中。我怀疑解决方案与lookarounds有关,但我对正则表达式的了解不多 有人能帮忙吗?类似这样的东西?当同一行上有2

我希望在HTML链接列表上运行正则表达式,并删除所有目标属性。然后,如果href指向PDF文档,我想添加一个值为“\u blank”的目标属性

这是到目前为止我的尝试的链接(由于某些原因,在我保存时,开始的括号一直更改为“<;”。您可能需要更改这些括号,以便我尝试工作

如您所见,目标属性已被删除,我已将新的目标属性添加到所有结果中。我不能做的只是将目标属性添加到PDF的链接中。我怀疑解决方案与lookarounds有关,但我对正则表达式的了解不多


有人能帮忙吗?

类似这样的东西
?当同一行上有2个以上的
标记,并且不是所有标记都是pdf时,正则表达式会把事情搞砸。谢谢。不幸的是,我很可能会在同一行上有两个链接,它们可能是pdf和其他页面的混合。如果你想要一个严格的解决方案,我建议你找一个解析器来做这项工作。我可以编写一个更严格的解决方案,但它会成为你无法维护的烂摊子。使用regex标记数据几乎是正确的解决方案。将文档加载到HTML解析器中,然后你可以循环所有链接,编辑内容,并从解析器中获取结果HTML。这是非常简单的这和XML是一样的,永远不明白为什么人们用正则表达式在XML中闲逛…:P