add(1 )
or 와 같이 쓰여진 숫자를 증가시키고 싶지만
add( 1)
이와는 다릅니다 add(1)
. Python 스크립트 플러그인을 사용하여 Notepad++에서 작동하는 코드가 하나 있지만 모든 숫자가 증가합니다.
import re
def calculate(match):
return '%s' % (str(int(match.group(1)) + 1))
editor.rereplace('(\d+)', calculate)
add(1 )
또한 only , only add( 1)
, only 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)