gpt4 book ai didi

Java正则表达式(贪婪/非贪婪)

转载 作者:行者123 更新时间:2023-12-02 04:21:03 26 4
gpt4 key购买 nike

因此,我尝试将以下两组格式分开:

FIRST - GrouP              second.group.txt

第一组可以包含任意字符第二组是点(.) 分隔的字符串。

我使用以下正则表达式来分隔这两个组:

([A-Z].+).*?([a-z]+\.[a-z]+)

但是,它给出了错误的结果:

1: FIRST - GrouP second.grou
2: p.txt

我不明白,因为我使用的是“非贪婪”分隔符 (.*?) 而不是贪婪分隔符 (. *)

我在这里做错了什么?

谢谢

最佳答案

您可以使用此正则表达式来匹配这两个组:

\b([A-Z].+?)\s*\b([a-z]+(?:\.[a-z]+)+)\b

RegEx Demo

分手:

\b               # word boundary
([A-Z].+?) # match [A-Z] followed by 1 or more chars (lazy)
\s* # match 0 or more spaces
\b # word boundary
([a-z]+ # match 1 or more of [a-z] chars
(?:\.[a-z]+)+) # match a group of dot followed by 1 or more [a-z] chars
\b # word boundary

PS:(?:..) 用于非捕获组

关于Java正则表达式(贪婪/非贪婪),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32767345/

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