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

时间:2017-01-23 16:48:25

标签: regex replace notepad++ token

初步说明: 请将此标记为重复,如果已存在,我不知道如何搜索它。

在记事本中有一些看起来像这样的行:

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

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

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

问题在于,我无法做到"更换所有''""""""""" #39;将被替代;在这种情况下,"替换' a'的第二个实例。每个相关行"

因此,我需要搜索所有

的行
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

我不知道的是: 我怎么能以某种方式定义"文本的这一部分将是可变的"模式?

如果在NPP中无法做到这一点,如果您知道可以执行此操作的软件,请告诉我们!

1 个答案:

答案 0 :(得分:2)

您可以搜索:

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

并替换为:

\1**b**\3

在搜索模式中,

  • \1是我们想要更改的令牌之前的块
  • \2是我们想要改变的第二次重复的重复令牌
  • \3是我们想要更改的令牌之后的块

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