Notepad ++正则表达式获得第二组

时间:2015-08-21 08:01:07

标签: regex notepad++

我有一个像这个例子的32k行的tex

A01.2 Some Text
A01.3 some Text
A01.4 3Some Text
A02.0 [some text]
B02.1 Text .05 example

我需要用';'替换空格符号

我尝试了(\S{3}\.\d)(\s),但记事本++突出显示/获得了具有空格的两个组B02.1

第一个问题:如何禁用第一组,或仅采用第二组 第二个问题:是否有另一个表达式只找到这个空格?

以下是real示例:

3 个答案:

答案 0 :(得分:1)

如果您想要用;替换空白,那么这个B02.1B02.1;使用notepad ++;因为您正在捕获组,所以在替换表达式中使用$表示法。

查找:(\S{3}\.\d)(\s) 替换:$1;

$1适用于第一个被捕获的群体。

希望它有所帮助,

enter image description here

答案 1 :(得分:0)

使用lookbehind使B02.1无法匹配:

(?<=\S{3}\.\d)(\s)

答案 2 :(得分:0)

  1. 您只是不对第一组进行分组而禁用第一组:

    \S{3}\.\d(\s)
    
  2. 否则,后视可能适合您的情况:

    (?<=\S{3}\.\d)(\s)