Regex 记事本++;正则表达式是否要用相反的值(true->;false和false->;true)替换匹配?

Regex 记事本++;正则表达式是否要用相反的值(true->;false和false->;true)替换匹配?,regex,replace,notepad++,Regex,Replace,Notepad++,我有一个很大的文本文件,其中有很多行,如下所示,我想交换这些行的值。如中所示,如果值为1,则将其替换为0;如果值为0,则将其替换为1 Hidden=0 Hidden=1 我已经计算出“find”正则表达式没问题: Hidden\=([01]{1}) 我的问题是如何用相反的方法替换它。没有办法解决它-它需要3个步骤: Search | Replace Hidden=0 | Hidden=X Hidden=1 | Hidden=0 Hidden=X | Hidden=1 但它们很简单 如果

我有一个很大的文本文件,其中有很多行,如下所示,我想交换这些行的值。如中所示,如果值为1,则将其替换为0;如果值为0,则将其替换为1

Hidden=0
Hidden=1
我已经计算出“find”正则表达式没问题:

Hidden\=([01]{1})

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

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

Search   | Replace
Hidden=0 | Hidden=X
Hidden=1 | Hidden=0
Hidden=X | Hidden=1
但它们很简单


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

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

确保文件的注释如下(运行一次性正则表达式以添加#0或#1非常简单)

正则表达式搜索

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

Hidden=\2 #\1

除非notepad++增加了对带有代码表达式的正则表达式引擎的支持,否则没有其他方法可以一次完成。

如果文件足够好,您可以尝试多步骤处理-将零替换为00(或其他唯一标识符),将一替换为零,将00替换为一。@herohuyongtao-这个问题更具体(狭窄)并且有不同的可能解决方案。
Hidden=\2 #\1