Notepad ++ regex用相反的值替换匹配(true-> false,false-> true)?

时间:2014-10-27 15:03:55

标签: regex replace notepad++

我有一个大文本文件,下面有很多行,我想交换它们的值。如在,如果值为1,则将其替换为0,如果值为0,则将其替换为1。

Hidden=0
Hidden=1

我找出'find'正则表达式没问题:

Hidden\=([01]{1})

我的问题是如何用相反的方法替换它。

2 个答案:

答案 0 :(得分:1)

没有解决它 - 需要3个步骤:

Search   | Replace
Hidden=0 | Hidden=X
Hidden=1 | Hidden=0
Hidden=X | Hidden=1

但他们很简单。

如果您的代码中确实有Hidden=X,请为X选择另一个字符,以便找不到Hidden=?

答案 1 :(得分:1)

是的,如果您提前修复文件,可以设置一个正则表达式来完成1次传递。这会交换每次通过的数字。

确保文件是这样评论的(很容易运行一次正则表达式来添加#0或#1)

Hidden=1 #0 Don't remove (replace with your comment character of choice)
Hidden=0 #1 Don't remove

正则表达式搜索

Hidden\=([01])\s+#([01])

替换

Hidden=\2 #\1

除非记事本++添加对带有代码表达式的正则表达式引擎的支持,否则没有其他方法可以在一次通过中执行此操作。