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