正则表达式:仅选择第3行(标记特定行)

时间:2016-09-10 13:35:16

标签: regex notepad++

假设我只想选择第3行,在许多文档中将其替换为另一行。

我使用Notepad ++和GrepWin的正则表达式。我尝试过像

这样的东西
\A^(.*){2}.*$

但它不起作用。

PS:Same question in Russian.

1 个答案:

答案 0 :(得分:3)

您可以使用

\A((?:.*\R){2}).*((?s:.*))\z

替换为$1my new line$2

详细说明:

  • \A - 文件开头
  • ((?:.*\R){2}) - 第1组(使用一对非转义括号创建)适应2个零序或多个字符序列,而不是换行符后跟换行符(两个第一行)
  • .* - 除了换行符之外还有零个以上的字符(这将被替换)
  • ((?s:.*)) - 第2组捕捉任何零个或多个字符直到....
  • \z - 文档的结尾。

$1是使用正则表达式的括号部分捕获的值的反向引用。