add(1 )
または のように記述された数値を増分したいのですが
add( 1)
、 のようには書きませんadd(1)
。Python スクリプト プラグインを使用して Notepad++ で動作するコードが 1 つありますが、これはすべての数値を増分します。
import re
def calculate(match):
return '%s' % (str(int(match.group(1)) + 1))
editor.rereplace('(\d+)', calculate)
add(1 )
また、のみ、 のみadd( 1)
、 のみの場合にのみ数値を増分する方法を知っておくと非常に便利ですadd(1)
。特に Notepad++ ではなく、任意のソフトウェアを提案していただけますか。
答え1
スクリプトを次のように変更します。
import re
import random
def calculate(match):
return '%s' % (str(int(match.group(1)) + 1))
editor.rereplace('((?<=add\( )\d+(?=\))|(?<=add\()\d+(?= \)))', calculate)
正規表現の説明:
( # group 1
(?<=add\( ) # positive lookbehind, make sure we have "add( " (with a space after parenthesis) before
\d+ # 1 or more digits
(?=\)) # positive lookahead, make sure we have a closing parenthesis after
| # OR
(?<=add\() # positive lookbehind, make sure we have "add(" (without spaces after parenthesis) before
\d+ # 1 or more digits
(?= \)) # positive lookahead, make sure we have a space and a closing parenthesis after
) # end group 1
次のような入力の場合:
add(1 ) or add( 1), but not like this add(1)
それは次のようになります:
add(2 ) or add( 2), but not like this add(1)