2012-06-27 2 views
0

PHP 파일을 검색하여 해당 파일에 정의 된 함수에 대한 모든 호출을 찾고 싶습니다. 내가 검색하고자하는 모든 기능이 포함 된 배열이 있습니다. 함수의 이름은 Foo 경우, 내가있어 : line 내가 찾고 있어요 코드의 현재 라인은정규식 : find 함수 호출

match = re.search(r'!(function)Foo\(', line) 

. 이 함수를 호출 할 때마다 (아무 것도 반환 할 필요가 없으며 일치하는 경우에만) 호출하고 함수가 선언 될 때 일치하지 않게합니다. functionFoo 앞에 위치하는 경우

re.search(r'(?<!function) Foo\(', line) 

그것은 일치하지 않을 수 있습니다 :

+0

그래서 함수를 호출하는 행과도 일치 시키길 원하십니까? –

+0

그래, "사용"이라는 용어는 아마 내 언어에 대한 가난한 언어 였을 것이다. 편집 중. – SomeKittens

+0

PHP의 ['token_get_all'] (http : //www.php/net/token_get_all)을 준비하고 사용하기 위해 왜 더 믿을만하고 정규식으로 검색할까요? – Wrikken

답변

2

당신은 어떤 lookbehind을해야 할 수도 있습니다 (I 정규식에 새로운 브랜드 해요,하지만 난 이미 내가 지금이 문제를 어떻게보고 있어요) .

+0

앞의'r'은 무엇을 하는가? – SomeKittens

+0

@SomeKittens 그냥 원시 문자열로 만들 수 있습니다. BTW, 네가 한 것과 똑같은거야. – JBernardo