У меня есть текст в виде
[1/12/2008 2:32:11 p.m. - name]
line 1
[1/12/2008 2:36:00 p.m. - name] - PRIVATE
line 2 [some text] sd
[1/12/2008 2:36:00 p.m. - name]
line 3
которые я хочу разделить на элементы, чтобы у меня был доступ ко времени, названию и тексту каждого элемента,
e.g.:
(item 1)
1: 1/12/2008 2:32:11 p.m.
2: name
3: line 1
(item 2)
1: 1/12/2008 2:36:00 p.m.
2: name
3: - PRIVATE
line 2 [some text] sd
(item 3)
1: 1/12/2008 2:36:00 p.m.
2: name
3: line 3
Я пытался придумать единый шаблон регулярных выражений для достижения этой цели, но не повезло:
\[([0-9\/ \:\.apm]+?) - ([a-z_\-0-9]+?)\](.*?\r\n.+?)(?:\[[0-9\/ \:\.apm]+? - [a-z_\-0-9]+?\])
Этот шаблон выше возвращает только первый элемент.
\[([0-9\/ \:\.apm]+?) - ([a-z_\-0-9]+?)\](.*?\r\n.+?)(?!\[[0-9\/ \:\.apm]+? - [a-z_\-0-9]+?\])
Приведенный выше шаблон возвращает все элементы, но только первый символ текста (группа 3)
Есть предложения?