2014-05-09 3 views
0

문서에서 특정 텍스트를 찾아 변경하고 새로운 행에 붙여 넣기하려면 Regex가 필요합니다. logging.info의 모든 항목을 찾으이숭고한 텍스트 새 행에서 찾기, 복사, 바꾸기 및 붙여 넣기

logging.info("hello i am here") 
print("hello i am here") 

처럼

print("hello i am here") 

최종 외모로 변경

logging.info("hello i am here") 

필요가 내가 할 수있는 그 어떤 정규식 아니면 내가해야 할 수동으로.

+0

보스는 내가 찾아 대체 할 새로운 라인에 붙여 넣해야합니다. 내가 무슨 뜻인지 알 것 같아. –

+0

좋아 ... 이제 너 무슨 뜻인지 알 겠어. '모든 logging.info를 찾아야하고 ...로 변경해야합니다. '라고 말한 부분은 나를 망쳤습니다. 아직 아무 것도 시도하지 않았습니까? 'logging.info'는 항상 한 줄에 혼자 있습니까? 당신이 지키고 싶은 들여 쓰기가 있습니까? – Jerry

+0

네, 이제 잡았습니다. 예 들여 쓰기가 있어야합니다. 나는 파이썬 코드를 사용하고 있습니다. –

답변

6

는이 같은 정규식이 작동한다고 생각 :

^(\h*)logging\.info\(([^)]*)\) 

교체와 :

$0\n$1print($2) 

regex101 demo

설명 :

^     # Beginning of line 
(\h*)    # Get any spaces/tabs before the line and store in $1 
logging\.info\( # Match 'logging.info(' 
([^)]*)   # Get everything between parens 
\)    # Match closing paren 

주 그 위의 정규식은 logging.info 함수 내에 다른 괄호가 없다고 가정합니다.

수단을 대체 :

$0    # Whole match 
\n    # Newline 
$1    # Place the indentation 
print(   # 'print(' 
$2    # The part within the `logging.info` function 
)     # Closing paren 
+0

regex가 올바로 작동하지만 숭고한 것은 아닙니다. –

+0

@ user2190040 정규식 모드를 확인 했습니까? '. * '가있는 맨 위, 맨 왼쪽 버튼입니다. 내 ST3 버전 : [before] (http://i.stack.imgur.com/32N8F.png) 및 [after] (http://i.stack.imgur.com/1sHG1.png) – Jerry

+0

예 이전에^([*]) 로깅 \ .info \ (([^)] *) \을 시도했습니다. –

관련 문제