gpt4 book ai didi

java - 重复属性正则表达式简化

转载 作者:行者123 更新时间:2023-11-30 06:19:17 24 4
gpt4 key购买 nike

我正在寻找代码库中的重复属性,我将一个有效的表达式放在一起,但我想知道是否可以使它更简单或更合乎逻辑。

示例输入

test.append("<td class='no-order' style='text-align:center;' class=\"data text\">");

我的尝试

<([^>]*)(class=('|\\")[^('|\\")]+('|\\"))([^>]*)(class=('|\\")[^('|\\")]+('|\\"))([^>]*)>

我的想法是寻找开始标签 <然后是任何不是结束标记的东西 [^>]*后跟带有 ' 的类属性或 \"然后重复整个过程。

如你所见,尽管它有效,但它看起来很长而且很复杂,他们有更简单的方法吗?

编辑:

以replace all的形式给写的人 super 加分,所以运行后合并了属性值

最佳答案

您可以使用以下正则表达式:

<.+(class)=("|').+?\2.+?\1.+>

在使用之前转义正则表达式。

如果它 matches字符串,然后它包含重复项。否则,它不会。

解释:

<.+(class)=("|')匹配<加上任何字符,直到达到 class=单引号或双引号。

如果字符串包含 class,则正则表达式的其余部分匹配值再次沿线某处使用反向引用。

关于java - 重复属性正则表达式简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23390436/

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