Я пытаюсь извлечь из следующего примера строки (все в одной строке):Regex - Совпадение несколько групп
First Note Type[br]03/11/2015 12:51:24 USR123[br]Now is the time for all good men to come to the aid of their country[br]Second Note Type[br]03/11/2015 16:26:03 USR456[br]The quick brown fox jumped over the lazy dog.
2 спички с 5 групп, каждая из, например:
матч 1:
- G1 -> 'Первый тип Примечание'
- G2 -> '03/11/2015'
- G3 -> '12: 51: 24'
- G4 -> '' USR123
- G5 -> «Сейчас настало время для всех хороших людей в прийти на помощь своей страны [BR]»
Match 2:
- G1 -> 'Второй тип Примечание'
- G2 -> '03/11/2015'
- G3 -> '16: 26: 03'
- G4 -> '' USR456
- G5 -> "Быстрая коричневая лиса перепрыгнула через ленивую собаку.
До сих пор я только смог соответствовать первые 4 группы, используя следующее выражение:
([a-zA-Z\s]+)\\[br\\\]([0-9]+/[0-9]+/[0-9]+)\s+([0-9]+:[0-9]+:[0-9]+)\s+([a-zA-Z0-9]+)\\[br\\]
не мог получить также пятый (G5) группу, я пытался добавив (.+)
но приведет только к одному матчу вместо n
может ли кто-нибудь указать мне в правильном направлении?
спасибо за ваш ответ, я попробовал и Это почти сработало! проблема в том, что мне нужно включить также «[br]» в группу «G5» (см. мой пример M1-G5 заканчивается на «[br]»), я дал плохой пример, в принципе любая группа G5 может содержать несколько " [br] ", есть ли способ достичь этого? – Stefano
просто добавьте его в качестве необязательной группы: '(?: \ [Br])?'. Я обновил ответ. Обратите внимание, что вам не нужно скрывать ']' вне класса символов. –
спасибо, что это сработало! Я не знал о такой возможности, хорошо провел день! – Stefano