Regex 记事本++;在单个(特定)行中插入值(不使用字符串)

Regex 记事本++;在单个(特定)行中插入值(不使用字符串),regex,notepad++,Regex,Notepad++,我想知道如何在记事本++中文本的第五行之后添加一些新值(或新行)。我的解决方案(其他方案的组合): 搜索:\A(.*)\r\n(.*)\r\n(.*)\r\n(.*) 更改:\1\r\n\2\r\n\3\r\n\4\r\n\5STRING 输入: 输出: 是否有其他(更具可读性的)选项来执行此操作?您可以使用限制量词{min,max}/{exact_num}和匹配行的分组结构,您还需要将整个文档与\A和\z锚定相匹配,以便模式替换在替换和在文件中查找中工作: \A((?:.*\R){4})([\

我想知道如何在记事本++中文本的第五行之后添加一些新值(或新行)。我的解决方案(其他方案的组合):

搜索
\A(.*)\r\n(.*)\r\n(.*)\r\n(.*)

更改
\1\r\n\2\r\n\3\r\n\4\r\n\5STRING

输入:

输出:


是否有其他(更具可读性的)选项来执行此操作?

您可以使用限制量词
{min,max}
/
{exact_num}
和匹配行的分组结构,您还需要将整个文档与
\A
\z
锚定相匹配,以便模式替换在
替换
在文件中查找
中工作:

\A((?:.*\R){4})([\s\S]*)\z
并替换为
$1字符串\r\n$2
。只需将光标放在文档的开头,然后点击两次
Replace

详细信息

\A((?:.*\R){4})([\s\S]*)\z
  • \A
    -文档开始
  • ((?:.*\R){4}
    -(组1后面用替换模式中的
    $1
    引用)匹配4个0+字符的序列,而不是换行符(
    *
    ),直到行尾和换行符(
    \R
    ,如果可以有多个换行符,则在其后面添加
    +
    ,或者如果文档中只有4行,则添加
    ,或者如果可以有0行或多行换行符,则添加
    *
  • ([\s\s]*)
    -(第2组后面用
    $2
    反向引用引用)匹配0+任何字符,包括最长为的换行符
  • \z
    -本文档的结尾
替换模式包含引用组1的反向引用
$1
STRING\r\n
STRING
,带有CRLF换行符)和
$2
反向引用

现在,您可以单击“全部替换”,您将在文档中执行单个替换


使用菜单=>搜索=>转到…选择第行和第5行,然后开始键入。谢谢,但我的想法是,我想在“按目录查找文件”中的一组文件(有多行)上使用它,并在一个地方恰好放置一次新值。因此,对文件的计数应该是:计数:1个匹配项(当行数为15时不是3次)。我在重建模式时遇到一些问题。\A(?:\R){4}。您能帮忙吗?您的意思是“在文件中查找”就像您单击“全部替换”按钮一样工作吗?我想您可以使用
\A((?:.\R){4})([\s\s]*)\z
并替换为
$1STRING\R\n$2
\A((?:.*\R){4})([\s\S]*)\z