仅当下一行为空行时才匹配行

时间:2015-03-29 02:40:59

标签: regex notepad++

我对正则表达式来说很新,我尝试做的只是在下一行为空行时匹配一行。

例如:

  1. 这是一些文字
  2. (空行)
  3. 这是一些文字
  4. 这是一些文字
  5. 这是一些文字
  6. (空行)
  7. 这是一些文字
  8. (空行)
  9. 在前面的例子中,我希望只能选择第1,5,7行。

    在notepad ++中使用正则表达式可以实现吗?

    提前致谢。

3 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式

(.*)\n\s*\n

并替换为

\1

Working Demo

它使用group capture的概念,因此您可以使用\1来使用捕获的组,即换行前的行

答案 1 :(得分:0)

您可以尝试使用以下正面预测的正则表达式。

^.*?\S.*(?=\n[ \t]*$)

\S匹配任何非空格字符。因此.*?\S.*匹配至少有一个非空格字符的行,而后面的(?=\n[ \t]*$)断言匹配必须后跟换行符,然后是零个或多个空格或制表符。

^.*?\S.*(?=\n\n)

如果您将空行视为没有任何单个空格或制表符的行,则可以使用上述正则表达式。 (?=\n\n)断言匹配必须后跟一个空行。

DEMO 1

DEMO 2

答案 2 :(得分:0)

这应该可以解决问题:

/(.)*\n\n/

如果您正在寻找一种简单的方法来测试/验证正则表达式rubular非常好。