Результат регулярного выражения выводит одно совпадение для нескольких совпадений - PullRequest
0 голосов
/ 25 января 2019

У меня есть файл с несколькими символами новой строки в поле «Сообщение об ошибке». Мне нужно заменить символы новой строки в космосе, чтобы они могли быть загружены как одна строка.

Но я не могу захватить несколько матчей. Мой регулярное выражение выводит одно совпадение для всего файла. Мне нужна помощь в создании регулярного выражения, которое даст мне 3 совпадения для приведенного примера.

https://regex101.com/r/DoED69/1

Используется регулярное выражение

^breakmantis.*;(Error;[\s\S]*;Regular;)[\s\S]*breakmantis

** Текущий файл с символами новой строки: **

name;brand;environment;center;Error
breakmantis;Kordel;Production;Bleep Eyeglow;Error;"The message did not pass the validation: 
Error Message='PriceTag' is mandatory, under field Price.
Error Message='PriceAmount' is mandatory, under field Price.
Error Message='BaseQuantity' is mandatory, under field Price.";Regular;;;;24 Apr 2019 14:34 CEST
breakmantis;Kordel;Production;Bleep Eyeglow;Error;"The message did not pass the validation: 
Error Message='PriceTag' is mandatory, under field Price.
Error Message='PriceAmount' is mandatory, under field Price.
Error Message='BaseQuantity' is mandatory, under field Price.";Regular;;;;24 Apr 2019 14:35 CEST
breakmantis;Kordel;Production;Bleep Eyeglow;Error;"The message did not pass the validation: 
Error Message='PriceTag' is mandatory, under field Price.
Error Message='PriceAmount' is mandatory, under field Price.
Error Message='BaseQuantity' is mandatory, under field Price.";Regular;;;;24 Apr 2019 14:36 CEST

Ожидаемый результат:

breakmantis;Kordel;Production;Bleep Eyeglow;Error;"The message did not pass the validation: Error Message='PriceTag' is mandatory, under field Price.Error Message='PriceAmount' is mandatory, under field Price.Error Message='BaseQuantity' is mandatory, under field Price.";Regular;;;;24 Apr 2019 14:34 CEST
breakmantis;Kordel;Production;Bleep Eyeglow;Error;"The message did not pass the validation: Error Message='PriceTag' is mandatory, under field Price.Error Message='PriceAmount' is mandatory, under field Price.Error Message='BaseQuantity' is mandatory, under field Price.";Regular;;;;24 Apr 2019 14:35 CEST
breakmantis;Kordel;Production;Bleep Eyeglow;Error;"The message did not pass the validation: Error Message='PriceTag' is mandatory, under field Price.Error Message='PriceAmount' is mandatory, under field Price.Error Message='BaseQuantity' is mandatory, under field Price.";Regular;;;;24 Apr 2019 14:36 CEST

Ответы [ 2 ]

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

Как насчет этого?

^breakmantis.*;(Error;[\s\S]*?)CEST$

Regex: https://regex101.com/r/DoED69/2

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

Попробуйте сопоставить:

\ n (сообщение об ошибке =)

и замените на

\ 1

Добавьте начальные пробелы в замене в соответствии с вашими потребностями.

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