Notepad++ 替换为在'=';使用记事本++;查找/替换

Notepad++ 替换为在'=';使用记事本++;查找/替换,notepad++,Notepad++,看完之后,我对试图解决我过去遇到的一个问题感到好奇 假设我有一个如下所示的文件: self.theta = theta self.alpha = alpha self.beta = beta 我希望能够交换等号两侧的文本,将其转换为: theta = self.theta alpha = self.alpha beta = self.beta 我可以通过使用解决这个问题,但我想知道如何直接在Notepad++中实现这一点。我不是在问如何在等号周围交换文本,而是在寻找使用Notepad++中内

看完之后,我对试图解决我过去遇到的一个问题感到好奇

假设我有一个如下所示的文件:

self.theta = theta
self.alpha = alpha
self.beta = beta
我希望能够交换等号两侧的文本,将其转换为:

theta = self.theta
alpha = self.alpha
beta = self.beta
我可以通过使用解决这个问题,但我想知道如何直接在Notepad++中实现这一点。我不是在问如何在等号周围交换文本,而是在寻找使用Notepad++中内置的查找/替换功能来交换文本的正确方法

从,我尝试使用以下查找/替换:

  • 查找内容:
    (.*)=(.*)
  • 替换为:
    \2=\1
  • 环绕:选中
  • 正则表达式:选中
  • 匹配换行:已清除
但是,这会产生以下输出:

 = self.theta  theta
 = self.alpha  alpha
 = self.beta  beta

在Notepad++中使用正则表达式和模式匹配来解决这个问题的正确方法是什么?

当前正则表达式模式的问题是它没有
^
$
锚,因此匹配行为不是您所期望的。由于关闭了点全部模式,第一个
(.*)
将所有内容与
=
匹配,而第二个
(.*)
不匹配任何内容。这使得在替换过程中仅保留RHS项,从而产生您现在看到的输出。我建议在正则表达式模式下查找并替换以下内容:

Find:    ^(.*)\s*=\s*(.*)$
Replace: $2 = $1