Проблема с указанием конкретного языка заключается в том, что ^
может означать начало строки или начало текста.
Если ^
означает начало строки:
"^(\w+) -"
должна охватывать его. Затем вы получаете первую группу (опять-таки конкретную для языка).
Если ^
означает начало текста (также будет работать в описанном выше случае):
Существуют различные линии сепараторов на разных системах, но в целом это должно работать:
"\n(\w+) -"
и снова получить первой группы.
Обратите внимание, что я предполагаю, строку, которую вы хотите получить состоит только из букв и цифр, в этом случае \w+
(что означает один или несколько (+
) символов слова (буква или цифра)) и эта строка сопровождается пробел затем -
.
Не уверен, что вы подразумеваете под «3 разделенных групп», вы вообще просто перебрать все матчи, но если вы хотите, чтобы соответствовать их в 1 регулярное выражение, что-то вроде этого следует сделать это:
"\n(\w+) - (?:\w|\s)*\r?\n(\w+) - (?:\w|\s)*\r?\n(\w+) -"
, хотя это некрасиво, трудно поддерживать и понимать и подвержено ошибкам.
Какой язык программирования? –
Конечно. Что вы пробовали? Какой язык или инструмент вы используете? Что вы подразумеваете под группой? –
@ m.buettner: group == capture? – bobrobbob