Notepad++ 正则表达式 + python 脚本(替换中添加)

Notepad++ Regex + python script (addition in the replace)

我遇到了这个人“Notepad++ Regular Expression add up numbers”完全相同的问题,我不知道 python(也许我感到羞耻)。我有一个数组:

$_ArrFinal = array("A"=>1, "B" =>2, "C" => 3, "D" => 4, "E"=>4, "F" => "5",...)

我已经对其进行了简化,但我需要将该数组中所有高于 4 的值都递增 1。 所以我在答案中这样做了,但遗憾的是它似乎不起作用:

def calculate(match):
        return '=>%s)' %(match.group(1)+1)
editor.rereplace('=>([5-9]|[1-9]\d{1,})', calculate)

有什么建议吗?

似乎默认的 Python 脚本安装效果不佳。这就是对我有用的东西:

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

代码:

def calculate(match):
    return '%s%s'%(match.group(1), str(int(match.group(2))+1))

editor.rereplace(r'(=>\s*"?)(\d+)', calculate)

然后,唤起这个'increment_numbers'脚本。

参见the regex demo。表达式匹配:

  • (=>\s*"?) - 第 1 组,=> 后跟零个或多个空白符号 (\s*),后跟可选的 "(因为 ? 匹配一个或零前面的标记)
  • (\d+) - 第 2 组,一个或多个数字