在 Notepad++ 中查找并替换 *相似* 行

Find and replace *similar* lines in Notepad++

初注: 请标记为重复,如果它已经存在,我不知道如何搜索它。

记事本中有几行是这样的:

Line 1: a x a x a x a
...
Line m: a y a y a y a
...
Line n: a z a z a z a

“...”表示具有任何内容的其他行。

我需要做的是搜索模式,在那里我可以维护不同的部分。

问题是我不能只做 "replace all instances of 'a'",因为我只需要替换 'a' 的一些实例;在这种情况下,"replace the second instance of 'a' of each relevant row"

因此,我需要搜索具有

的所有行
a 'variable data_1' a 'variable data_2' a 'variable data_3' a

并替换为

a 'variable data_1' **b** 'variable data_2' a 'variable data_3' a

最终结果应该是这样的:

Line 1: a x b x a x a
...
Line m: a y b y a y a
...
Line n: a z b z a z a

我不知道的是: 我怎样才能以某种方式定义 "this part of the text will be variable" 模式?

如果 NPP 无法做到这一点,如果您知道可以做到这一点的软件,请告诉我!

您可以搜索:

((a)\s*'[^']*'\s*)((?:\s*'[^']*'\s*)+)

并替换为:

**b**

在搜索模式中,

  • </code> 是我们要更改的令牌之前的块</li> <li><code> 是我们要更改其第二次重复的重复标记
  • 是我们要更改的令牌之后的块

并且重复标记的第二次迭代被排除在组之外,因为我们将其替换为替换文本中的另一个值。