搜索和增量替换

时间:2015-12-16 08:24:04

标签: regex notepad++

我有某些文字。我试图用从1开始的数字替换[]内的数字,然后以增量方式替换。这是否可以在记事本++中使用正则表达式搜索和替换功能。

pig[1]
chicken[2]
monkey[3]
duck[4]
goat[5]
buffalo[6]

输出>>

li

1 个答案:

答案 0 :(得分:4)

您可以分两步完成工作:

  1. 第一步
    • 将光标移动到第一行的开头
    • 在编辑菜单中选择以列模式编辑(我不确定标签,因为我没有英文版)您可以输入 Alt + C < / kbd>
    • 在弹出窗口中,选择初始编号和增量,然后单击确定
  2. 第二步:
    • Ctrl + H
    • 找到:(\d+)(.+?)\[\d+\]
    • 替换为:$2[$1]
    • 然后点击全部替换
  3. 正则表达式解释:

    (       : Start group 1
      \d+   : 1 or more digits
    )       : End group 1
    (       : Start group 2
      .+?   : 1 or more any character except linebreak non greedy
    )       : End group 2
    \[\d+\] : 1 or more digits enclosed in brackets
    

    替换部分:

    $2      : Content of group 2 (ie. word before the opening braket: pig, chicken, ...)
    [$1]    : Content of group 1 (ie. the number generated in step 1), enclosed in brackets