java使用正则表达式对字符串的各个部分进行分组
我有一个字符串如下:
1. Name (Firstnames), Purpose 01-MAY-2019 14:49 UTC (Accept)remarks are starting now (some random, thing, I am typing, in remarks)
我想创建一个包含6项的组索引,如下所示:
1 - 1
2 - Name (Firstnames)
3 - Purpose
4 - 01-MAY-2019 14:49 UTC
5 - Accept
6 - remarks are starting now (some random, thing, I am typing, in remarks)
除了第6项中的备注部分,其余的项目都是给定的格式,我可以与匹配者核对。我如何做到这一点
我制定了下面的正则表达式,但对于上面给出的一些语句,它仍然失败:
(\d+)\.(.*),([^0-9]*)(.*)\((.*)\)(.*)
# 1 楼答案
您需要为该组添加惰性量词
(\d+)\.(.*?),([^0-9]*)(.*?)\((.*?)\)(.*)
阅读更多关于懒惰和贪婪的量词:http://stackoverflow.com/questions/3075130/difference-between-and-for-regex/3075532#3075532