问题
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