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

我与影子孤独终老i 提交于 2020-01-04 05:43:18

问题


I got quite the same problem of this guy "Notepad++ Regular Expression add up numbers" i don't know python (shame on me maybe). I got an array :

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

I have simplify it but i need to increment all the value above 4 in this array by 1. So i did this like in the answer, but sadly it doesn't seems to work :

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

Any suggestion ?


回答1:


It seems that the default Python Script installation is not working well. This is what has just worked for me:

  • Install Python Script 1.0.8.0
  • Go to the Plugins -> Python Script -> New Script
  • Select the file name (say, "increment_numbers.py")
  • Place this script there:

Code:

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

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

Then, just evoke this 'increment_numbers' script.

See the regex demo. The expression matches:

  • (=>\s*"?) - Group 1, => followed with zero or more whitespace symbols (\s*) followed with an optional " (as ? matches one or zero preceding token)
  • (\d+) - Group 2, one or more digits


来源:https://stackoverflow.com/questions/35366602/notepad-regex-python-script-addition-in-the-replace

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!