2016-02-12 55 views
2

我得到了這個人的相同問題「Notepad++ Regular Expression add up numbers」我不知道python(對我可能是羞愧)。我有一個數組:記事本+ +正則表達式+ python腳本(在替換中添加)

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

我已經簡化它,但我需要通過1 所以我做了這個喜歡在回答遞增此數組中上述4所有的值,但可悲的是它似乎並不工作:

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

任何建議?

+0

嗯,我總是得到異常,也許這是一個好主意[檢查此答案](http://stackoverflow.com/questions/26110973/emmet-notepad-unknown-exception)做法。 –

回答

3

似乎默認的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組,一個或更多的數字
+0

這很奇怪,但我通過插件管理(版本1.0.6.0)安裝的插件似乎不工作,但這一個(1.0.8.0)運作良好。謝謝。 – kolyaseg

+0

是的,1.0.8.0運行良好,這就是爲什麼我總是建議安裝那個。 –