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 组,一个或多个数字
我遇到了这个人“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 组,一个或多个数字