Notepad ++使用增量值查找/替换数字

Sev*_*evi 1 regex notepad++

在Notepad ++中是否可以找到一个数字,然后用增量值替换它?

例如,找到id号:regex\((\d+)

INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (0,"audi","audi");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (1,"BMW","bmw");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (2,"Mercedes","mercedes");
Run Code Online (Sandbox Code Playgroud)

用id + 31替换:怎么样?

INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (31,"audi","audi");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (32,"BMW","bmw");
INSERT INTO `wp_make`(`id`, `name`, `slug`) VALUES (33,"Mercedes","mercedes");
Run Code Online (Sandbox Code Playgroud)

Wik*_*żew 6

仅使用正则表达式是不可能的,但您可以在Notepad ++中使用python脚本.

以下是步骤:

  • 安装Python Script 1.0.8.0
  • 转到插件 - > Python脚本 - > 新脚本
  • 选择文件名(例如,"increment_numbers.py")
  • 将此脚本放在那里:

码:

def increment_after_openparen(match):
    return "({0}".format(str(int(match.group(1))+31))

editor.rereplace(r'\((\d+)', increment_after_openparen)
Run Code Online (Sandbox Code Playgroud)

然后,只需唤起这个'increment_numbers'脚本.