我遇到了这个人“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 脚本 -> 新脚本
- 选择文件名(比如“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 组,一个或多个数字
