用于在多行模式下最后一个符号出现后替换换行符的正则表达式

Regex for replace newlines after last symbol occurence in multiline mode

有效负载(多行文本文件);

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;

所以,我需要一个接下来要执行的正则表达式:在 ; 之前找到最新的 ) 符号并替换所有 space 符号(就正则表达式而言,\s); 到文件末尾。

我尝试在多行模式下玩负面回顾但运气不好。

如果替换不必使用纯正则表达式,我将只使用正则表达式进行匹配。

\)([^\)]+);

这确保它在 ;.

之前采用最新的 )

在那之后你会得到介于两者之间的内容,在那里你可以用你想要的任何东西替换 \n 和 \r 或任何你想要的东西。

发表此评论以将问题标记为已回答:查看 Deadooshka 的评论。