Группируйте различные части строки, используя регулярные выражения - PullRequest
0 голосов
/ 03 мая 2019

У меня есть строка, как показано ниже:

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 Ответ

4 голосов
/ 03 мая 2019

Вам необходимо добавить ленивые квантификаторы для этой группы.

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

Подробнее о ленивых и жадных квантификаторах: /3645800/v-chem-raznitsa-mezhdu-i-regulyarnye-vyrazheniya#3645833

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...