RegEx: блок Catch начинается с «чего-то» в тексте - PullRequest
1 голос
/ 08 октября 2019

Мне нужно регулярное выражение, чтобы разбить 2 группы: Успех (начало текстового блока) и все последующие, до следующего примера успешного текста с 3 успешными блоками:

Success        blablabla blablabla blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla

Success        blablabla blablabla blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla blablabla blablabla
blablabla 

blablabla
blablabla blablabla


Success        blablabla blablabla blablabla blablabla blablabla blablabla  blablabla blablabla blablabla blablabla blablabla blablabla
blablabla blablabla
blablabla blablabla blablabla blablabla 



blablabla blablabla
blablabla blablabla

Это регулярное выражение останавливает блок дляпервый \n:

(Success|Error|Critical|Warning)\s{8}((.*|\n*?|\r*?|[\r\n]*?)*)

1 Ответ

0 голосов
/ 08 октября 2019

Одной из многих возможностей может быть (при включенных multiline, verbose и singleline):

^(Success|Error|Critical|Warning)
.+?
(?=^(?:Success|Error|Critical|Warning)|\Z)

См. демонстрацию на regex101.com .

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