记事本++Regex+Python脚本(在替换中添加)

2022-03-08 00:00:00 python regex notepad++

问题描述

我也遇到了这个家伙"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脚本->新建脚本
  • 选择文件名(比如"increate_number s.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,一个或多个数字

相关文章