为什么我的正则表达式不会折叠换行组?

Dae*_*nic 1 regex perl newline

我有以下正则表达式尝试减少换行组:

s/(\n|\r\n|\n\r)(\n|\r\n|\n\r)(\n|\r\n|\n\r)+/\n\n/gmi;
Run Code Online (Sandbox Code Playgroud)

它最初是:

s/\n\n(\n)+/\n\n/gmi
Run Code Online (Sandbox Code Playgroud)

我希望减少连续最多连续两行的换行数(只是尝试对我为内部wiki导入的一些文件进行一些清理).数据中有几行CRLF(Windows数据文件).然而,它似乎没有用.

我究竟做错了什么?这是一个出错的示例:

开始时:

added missing options for Menu and toolbar positioning</p>

</div>

</body>

</html>

我正在剥离HTML标记,所以最终会像这样:

added missing options for Menu and toolbar positioning





然后我应用正则表达式,它出现为:

added missing options for Menu and toolbar positioning



Aar*_*lla 6

尝试匹配这些换行周围留下的任何其他空格:

s/(\r?\n[ \t]*){2,}/\n\n/g;
Run Code Online (Sandbox Code Playgroud)