正则表达式:排除第一行

时间:2017-07-06 21:49:17

标签: regex

我已经在SE上找到了类似答案的解决方案,但它们对我没有用。

假设以下输入:

  

@@小记

     

由于

     

Here或[there] [1]

     

非常好的事情

     

[1]:http://home.com

我想排除第一行。所以我的最终输出需要是上面的文字,但是从说出"谢谢" (不是空行)。

如何做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以考虑匹配字符串中第一行以外的行的开头,该行以非空白字符开头,然后将所有内容与字符串结尾匹配。

您可以使用

(?ms)(?!\A)^\S.*

请参阅regex demo

<强>详情:

  • (?ms) - MULTILINE(m)修饰符使^行的开头匹配 以及使s匹配任何字符(包括换行符)的DOTALL修饰符(.
  • (?!\A) - 如果当前位置是字符串的开头(\A始终与字符串的开头匹配,则无论是否存在MULTILINE修饰符)都会导致匹配失败的负前瞻
  • ^ - 开始行
  • \S - 非空白字符(如果在第一个非空格字符之前可能有前导空格,请在[^\S\r\n]*之前添加\S
  • .* - 字符串结尾的任何0+字符。