Skip to main content
 首页 » 编程设计

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

2024年08月23日32jiqing9006

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