2016-11-19 1 views
-1

특정 기능에 사용 된 모든 매개 변수를 추출하기 위해 일련의 코드 파일을 읽으려고합니다. 나는 한 번에 문자열 하나에 파일을 읽고있다, 나는 기능 & 과부하가정규 표현식의 와일드 카드 요소를 배열로 푸시

"functionName\(.*[\),]" 

같은 패턴으로 정규 표현식을 사용할 수 있습니다 생각했다. 첫 번째 매개 변수는 항상 macro'd 문자열이고, 나는 그것을 발견하면

functionName(ARGUMENT_1) or functionName(ARGUMENT_1, ....) 

ARGUMENT_1이 배열에 추가 될 수 있도록 배열 에

감사

답변

0
이러한 와일드 카드 요소를 추가 할 하나의 인수를

기능은 캡처됩니다

\w+\((\w+)\) 

이 파이썬에서 그것을 구현하는 것이 방법이다. 할 수 있습니다 포트 C++

import re 

pattern = "\w+\((\w+)\)" 
text = """functionName(ARGUMENT_1) or functionName(ARGUMENT_1, ....) 
functionName(ARGUMENT_2) or functionName(ARGUMENT_2, ....)""" 
a = re.findall(pattern,text) 
print a 

이 로직 출력 : 당신이 그 짓을 어떻게 Regex101 https://regex101.com/r/cKTn4Q/2

+0

@AlanMoore 에

['ARGUMENT_1', 'ARGUMENT_2'] 

데모? – MYGz

+1

당신은 파이썬 코드 강조 표시를 어떻게 강요 했습니까? 보십시오 [여기] (http://stackoverflow.com/editing-help#syntax-highlighting). (편집 상자의 오른쪽 상단 모서리에있는 도움말 버튼에서) 약간 묘한, 그러나 완전히 문서화. : D –

+0

@ AlanMoore 예 :) 문자열처럼 보이게하려고했으나 할 수 없었습니다. 그래서 이렇게 남았습니다. P. 팁 고마워! :) – MYGz