내 목록 (vb.net 목록)에서 모든 함수 호출을 찾고 함수 이름을 갖고 있다고 가정합니다.정규식을 사용하여 함수 호출을 찾는 방법은 무엇입니까?
함수는 점은 줄 바꿈을 포함하는 것으로 해석된다고 가정하면, 여러 줄에 걸쳐있는 경우에도 작동합니다myfunc\( .* \)
은 (점에서이 작업을 수행 할 수있는 옵션이 있습니다 : 첫째 나는 같은 정규 표현식을 할 수 있다고 생각 -net)
하지만 그때 내 자신의 일부 인수 자체가 함수 호출이 될 수 있음을 알았습니다. 즉,
myfunc (a, b, c, d(), e), 이는 괄호가 일치하지 않는다는 것을 의미합니다.
그래서 메인 함수 호출은 일반적으로 첫 번째 항목이 선에 있기 때문에, 난 할 수 있다고 생각 :
^myfunc(.* \) $
아이디어는 함수가 행의 첫 번째 항목이 있다는 것입니다 (^) 마지막 paren은 줄 ($)의 마지막 항목입니다. 그러나 그것도 작동하지 않습니다.
내가 뭘 잘못하고 있니?
(. *. *. *)'. 하지만 대부분의 프로그래밍 언어 구문은 문맥 자유 문법 (Chomsky hierarchy : http://en.wikipedia.org/wiki/Chomsky_hierarchy 참조)을 기반으로하기 때문에 정규식은 완벽하지 않습니다. – chesles