正则表达式删除第一个空行

Regex remove first empty line

在像

这样的字符串中



z


h




我想用正则表达式删除所有空值 [\r\n]+$ 你可以看到 example

根据上例中的“匹配信息”部分,替换后顶部仍然保留一个空行,大概是第 3 行 关于如何匹配这个空值的任何建议 谢谢

您需要先删除字符串开头的所有换行符。

/[\r\n]+$/mg 将删除所有换行符,但它会在换行符 char strake 的最后一个行字符结束之前停止,因此除最后一行之外的所有初始空行都将被删除。

因此,在 PCRE(以及 .NET,Java、Python re、Ruby)模式中,您可以使用

\A[\r\n]+|[\r\n]+$

参见 regex demo,在 regex101 测试器中将其与多行和全局标志一起使用。

详情

  • \A[\r\n]+ - 字符串的开始和 1+ CR or/and LF 符号,尽可能多
  • | - 或
  • [\r\n]+$ - 1+ CR/LF 个符号,尽可能多,后跟换行符或字符串结尾。