使用正则表达式对String的各个部分进行分组

时间:2019-05-03 14:30:58

标签: java regex

我有一个如下所示的字符串:

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项中的备注部分,其余项始终采用给定格式,我可以使用Matcher进行检查。我该如何实现?

我制定了以下正则表达式,但对于上面给出的某些陈述仍然失败:

(\d+)\.(.*),([^0-9]*)(.*)\((.*)\)(.*)

1 个答案:

答案 0 :(得分:4)

您需要为该组添加惰性量词。

(\d+)\.(.*?),([^0-9]*)(.*?)\((.*?)\)(.*)

了解更多有关懒惰和贪婪量词的信息:http://stackoverflow.com/questions/3075130/difference-between-and-for-regex/3075532#3075532