gpt4 book ai didi

java - 正则表达式排除行为

转载 作者:行者123 更新时间:2023-12-02 08:31:04 25 4
gpt4 key购买 nike

好的,所以我知道这个问题已经以不同的形式被问过好几次了,但是我在特定语法方面遇到了麻烦。我有一个包含 html 片段的大字符串。我需要找到每个尚不具有 target= 属性的链接标记(以便我可以根据需要添加一个)。

^((?!target).)*将为我提供指向“目标”的文本,以及 <a.+?>[\w\W]+?</a>会给我一个链接,但这就是我被困的地方。一个例子:

<a href="http://www.someSite.com>Link</a> (This should be a match)
<a href="SomeLink.whatever target="_blank">Link</a> (this should not be a match).

有什么建议吗?使用 DOM 或 XPATH 并不是真正的选择,因为此代码段不是格式良好的 html。

最佳答案

你试图用正则表达式解析 HTML 是在故意作恶。不要。

也就是说,尝试在一个正则表达式中完成所有操作是非常邪恶的。没有必要这样做;它使您的代码依赖于正则表达式引擎,不可读,而且很可能很慢。相反,只需匹配标签,然后使用简单的正则表达式 /target=/ 再次检查您的第一阶段命中。当然,该字符串可能出现在 HTML 标记中的其他位置,但是请参阅 (1)...您已经将良好的实践抛到了九霄云外,所以为什么不至少让事情变得清晰,以便每个人都可以看到您的内容在做什么?

关于java - 正则表达式排除行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3354796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com