gpt4 book ai didi

java - 惰性(贪婪)使用正则表达式匹配多个组

转载 作者:可可西里 更新时间:2023-11-01 12:32:00 26 4
gpt4 key购买 nike

我想抓取 <tag></tag> 对之间任何值的内容标签。

<tag>
This is one block of text
</tag>

<tag>
This is another one
</tag>

我想出的正则表达式是

/<tag>(.*)</tag>/m

虽然,它看起来很贪心,并且正在捕获括号内的所有内容,直到最后一个 </tag>。 .我希望它尽可能地懒惰,以便每次看到结束标记时,它都会将其视为一个匹配组并重新开始。

如何编写正则表达式,以便能够在给定场景中获得多个匹配项?

我在以下链接中包含了我所描述内容的示例

http://rubular.com/r/JW5M3rnqIE

注意:这不是 XML,也不是真正基于任何现有的标准格式。我不需要任何复杂的东西,比如带有漂亮解析器的成熟库。

最佳答案

使用正则表达式模式:

/<tag>(.*?)<\/tag>/im

惰性(非贪婪)是.*?,不是.*

要查找多次出现,请使用:

string.scan(/<tag>(.*?)<\/tag>/im) 

关于java - 惰性(贪婪)使用正则表达式匹配多个组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12885283/

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