Сопоставить начало строки со взглядом сзади и именованной группой - PullRequest
0 голосов
/ 07 января 2019

нужна помощь, чтобы соответствовать полному сообщению в Lookbehind.

Допустим, у меня есть следующая упрощенная строка:

1 hostname Here is some Text

в начале я мог иметь 1 или 2 цифры, а затем пробел, который я игнорировал бы. тогда мне нужно, чтобы первое слово было записано как "хост" и затем я хотел бы оглянуться назад на первый пробел, чтобы в «группе» перехвата записывалось все, начиная с первых двух цифр и пробела. т.е. "имя хоста Вот какой-то текст"

мое регулярное выражение:

^[1-9]\d{0,2}\s(?<host>[\w][\w\d\.@-]*)\s(?<message>(?<=\s).*$)

это дает мне:

host = "hostname" message = "Вот текст"

Я не могу понять, как должна выглядеть моя внешность.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 15 января 2019

хорошо, я нашел это. Что нужно сделать, это поместить сообщение в качестве первой группы, а все остальное, включая другие группы внутри группы сообщений:

^[1-9]\d{0,2}\s(?<message>(?<host>[\w][\w\d\.@-]*)\s.*$)
...