简体   繁体   中英

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

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 ?

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM