gpt4 book ai didi

java - 使用正则表达式查找多个匹配项

转载 作者:行者123 更新时间:2023-12-01 07:56:37 25 4
gpt4 key购买 nike

我正在尝试查找具有特定属性/文本(作为组捕获)的 anchor ( <a> )HTML 标记的所有出现(可能有零个或多个)。

正则表达式:<a\s+.*attr1="myattr".*attr2="(.+)".*attr3="(.+)".*>(.+)</a>

输入字符串:

First <a attr1="myattr" attr2="value12" attr3="value13">text1</a> Second <a attr1="myattr" attr2="value12" attr3="value13">text1</
a> Third <a attr1="myattr" attr2="value12" attr3="value13">text1</a>

结果:它表示只发现了一个事件。它返回第一次出现的“<a”作为(匹配的)起始索引,这是正确的,但它说最后一次出现的“</a>”作为结束索引。预期结果:3 场比赛,每场比赛 3 组(由正则表达式中的括号指定)。

最佳答案

Regex 默认情况下是贪婪的,因此 .* 将匹配尽可能多的字符。您应该使用 .*? 来实现非贪婪模式。

关于java - 使用正则表达式查找多个匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29316301/

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