Regex 记事本2正则表达式搜索后插入字符
在执行正则表达式搜索后,我在尝试找出如何插入一些文本时遇到了问题。我知道有一个替换函数,但我不是在寻找那个选项,只是插入。我使用的文本编辑器是Notepad2,但我愿意在其他文本编辑器中尝试 这是我举的一个例子。 这就是我要找的 请注意,我试图在第二个管道后插入短语前缀,而不涉及其他内容 我可以使用以下正则表达式成功查询结果: 但我不知道如何才能保留搜索点前后的所有内容。有什么想法吗Regex 记事本2正则表达式搜索后插入字符,regex,notepad2,Regex,Notepad2,在执行正则表达式搜索后,我在尝试找出如何插入一些文本时遇到了问题。我知道有一个替换函数,但我不是在寻找那个选项,只是插入。我使用的文本编辑器是Notepad2,但我愿意在其他文本编辑器中尝试 这是我举的一个例子。 这就是我要找的 请注意,我试图在第二个管道后插入短语前缀,而不涉及其他内容 我可以使用以下正则表达式成功查询结果: 但我不知道如何才能保留搜索点前后的所有内容。有什么想法吗 ^([^|]*\|[^|]*\|) 尝试此操作。替换为$1prefix。请参阅演示。只需捕获第一个组,然
^([^|]*\|[^|]*\|)
尝试此操作。替换为$1prefix。请参阅演示。只需捕获第一个组,然后将其用于替换。第一个组可由$1访问
您可以简单地使用\K来丢弃以前匹配的字符
^[^|]*\|[^|]*\|\K
然后用字符串前缀替换匹配项
您可以在Notepad2中使用基于正则表达式的替换功能轻松地完成此操作
查找:^\[^ |]*.[^ |]*|\
替换:\1Prefix
详情:
^-行的开始Notepad2永远不会溢出行边界!
\[^ |]*.[^ |]*.\-捕获与以下序列匹配的组1:
[^ |]*-零个或多个字符,而不是|
|-文字是,无需转义,转义和未转义均匹配文字管道符号
[^ |]*|-参见上文,进入第二个|。
替换包含一个\1反向引用,用于插入捕获组1捕获的内容。
请注意,Notepad2正则表达式引擎非常有限。以下是以下内容:
Notepad2只支持有限的正则表达式子集,如闪烁源代码编辑组件的内置引擎所提供的。其优点是占地面积非常小。目前还没有计划集成更高级的正则表达式引擎,但这可能是未来开发的一个选项
注意:正则表达式搜索仅限于单行
此外,您还可以参考内部描述支持的语法的内联注释。请记住,Notepad2 S&R工具中使用的正则表达式类型是POSIX的正则表达式类型,并且并非所有描述的闪烁正则表达式功能都能在该工具中工作
注意,Notepad2似乎不支持类似于Lua模式的交替和限制量词,但\w将Unicode字母与ASCII字母一起匹配。可悲的是,我做不到?量词起作用。如果起作用,是否愿意解释它是如何起作用的以及为什么起作用?@shmidty这是否回答了您的问题?以下是网站回答问题标准的参考:@shmidty愿意解释您认为遗漏了什么
^[^|]*\|[^|]*|
^([^|]*\|[^|]*\|)
^[^|]*\|[^|]*\|\K