如何在Notepad ++中将两个正则表达式连接成一个?

时间:2013-11-25 16:25:40

标签: regex join expression notepad++

我一直在网上和这里搜索很多,但我找不到解决方法。 我必须在文本文件中保存的所有注册表路径中进行两次替换,如下所示:

  1. [#42]
  2. 替换所有星号
  3. 用两个替换所有单个反斜杠。
  4. 我已经有两个表达式可以做到这一点:

    第一案:

    查找:(\*) - 替换:\[#42\]

    第二案:

    查找:([^\\])(\\)([^\\]) - 替换:$1$2\\$3

    现在,我想要的只是将它们连接成一个表达式,这样我就可以一次只运行它。 我在Windows 7(64位)中使用Notepad ++ 6.5.1。

    我想让它工作的示例行(我包含反斜杠,但我不知道它们是否会出现在html中):

    HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\

    我已经尝试将它与管道分开,就像我在Jscript(WSH)中那样,但它在这里不起作用。我也尝试了很多其他的东西,但都没有用。 有帮助吗? 谢谢!

    编辑:我已经把所有的反斜杠都放了,但页面html似乎正在“吃掉”其中一些!
    Edit2:有人重新编写我的文本以包含不删除反斜杠的重音,因此表达式再次出错。但我得到了并修复了它。 ;-) 对不起,这是我在这里的第一篇文章。 :)

2 个答案:

答案 0 :(得分:0)

由于您的替换字符串完全不同并且使用的数据不是来自任何捕获(即[#42]),您不能。

请记住,替换字符串只是掩码,不能包含任何条件内容。

答案 1 :(得分:0)

正如其他人已经提到的那样,这是不可能的。

但是,您可以使用宏在Notepad ++中实现您想要的效果。

转到“微距”> “开始录制”菜单,应用这两个搜索并替换正则表达式,按“停止录制”,然后“保存当前录制的宏”,给它一个名称,分配一个快捷方式,你就完成了。您现在可以随时使用一个快捷方式重复使用相同的替换。