Полезная нагрузка (многострочный текстовый файл);
foo bar () )
zab()rab)(oof
)
abc
dfe;
aaa )bbb
()hhh(
)
xxx
yyy;
Ожидаемый результат (после preg_replace()
звонок или аналог):
foo bar () )
zab()rab)(oof
) abc dfe;
aaa )bbb
()hhh(
) xxx yyy;
Итак, мне нужно регулярное выражение, что делать дальше: найти последние )
символ перед ;
и заменить все пробелы (\s
с точки зрения регулярного выражения) между )
а также ;
в конец файла.
Я пытаюсь играть с негативным взглядом, но в мультилинии мне не везет.
если замена не должна быть с чистым регулярным выражением, я бы использовал регулярное выражение только для сопоставления.
\)([^\)]+);
это гарантирует, что это займет самое последнее )
до ;
,
после этого у вас будет содержимое, которое находится между ними, и вы можете просто заменить \ n и \ r или все, что вы хотите, чем угодно.
Сделайте этот комментарий, чтобы пометить вопрос как ответивший: посмотрите на комментарий Deadooshka.