Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 ?

like image 886
Daniel E. Avatar asked Apr 18 '26 09:04

Daniel E.


1 Answers

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
like image 120
Wiktor Stribiżew Avatar answered Apr 20 '26 00:04

Wiktor Stribiżew