Regex 记事本2正则表达式搜索后插入字符

Regex 记事本2正则表达式搜索后插入字符,regex,notepad2,Regex,Notepad2,在执行正则表达式搜索后,我在尝试找出如何插入一些文本时遇到了问题。我知道有一个替换函数,但我不是在寻找那个选项,只是插入。我使用的文本编辑器是Notepad2,但我愿意在其他文本编辑器中尝试 这是我举的一个例子。 这就是我要找的 请注意,我试图在第二个管道后插入短语前缀,而不涉及其他内容 我可以使用以下正则表达式成功查询结果: 但我不知道如何才能保留搜索点前后的所有内容。有什么想法吗 ^([^|]*\|[^|]*\|) 尝试此操作。替换为$1prefix。请参阅演示。只需捕获第一个组,然

在执行正则表达式搜索后,我在尝试找出如何插入一些文本时遇到了问题。我知道有一个替换函数,但我不是在寻找那个选项,只是插入。我使用的文本编辑器是Notepad2,但我愿意在其他文本编辑器中尝试

这是我举的一个例子。

这就是我要找的

请注意,我试图在第二个管道后插入短语前缀,而不涉及其他内容

我可以使用以下正则表达式成功查询结果:

但我不知道如何才能保留搜索点前后的所有内容。有什么想法吗

^([^|]*\|[^|]*\|)
尝试此操作。替换为$1prefix。请参阅演示。只需捕获第一个组,然后将其用于替换。第一个组可由$1访问

您可以简单地使用\K来丢弃以前匹配的字符

^[^|]*\|[^|]*\|\K
然后用字符串前缀替换匹配项

您可以在Notepad2中使用基于正则表达式的替换功能轻松地完成此操作

查找:^\[^ |]*.[^ |]*|\ 替换:\1Prefix

详情:

^-行的开始Notepad2永远不会溢出行边界! \[^ |]*.[^ |]*.\-捕获与以下序列匹配的组1: [^ |]*-零个或多个字符,而不是| |-文字是,无需转义,转义和未转义均匹配文字管道符号 [^ |]*|-参见上文,进入第二个|。 替换包含一个\1反向引用,用于插入捕获组1捕获的内容。

请注意,Notepad2正则表达式引擎非常有限。以下是以下内容:

Notepad2只支持有限的正则表达式子集,如闪烁源代码编辑组件的内置引擎所提供的。其优点是占地面积非常小。目前还没有计划集成更高级的正则表达式引擎,但这可能是未来开发的一个选项

注意:正则表达式搜索仅限于单行

此外,您还可以参考内部描述支持的语法的内联注释。请记住,Notepad2 S&R工具中使用的正则表达式类型是POSIX的正则表达式类型,并且并非所有描述的闪烁正则表达式功能都能在该工具中工作


注意,Notepad2似乎不支持类似于Lua模式的交替和限制量词,但\w将Unicode字母与ASCII字母一起匹配。可悲的是,我做不到?量词起作用。

如果起作用,是否愿意解释它是如何起作用的以及为什么起作用?@shmidty这是否回答了您的问题?以下是网站回答问题标准的参考:@shmidty愿意解释您认为遗漏了什么
^[^|]*\|[^|]*|
^([^|]*\|[^|]*\|)
^[^|]*\|[^|]*\|\K