2017-04-07 1 views
-2

이 같은 C의 기능을 가지고 있습니다 C에서 함수의 본문을 대체 :파이썬 정규식

int main(){ 
    if(1){ 
     printf("1"); 
    } 
} 

은 내가 필요한 것은 { }에서 함수 본문을 찾아 빈 문자열로 대체하는 것입니다. 이것은 무한히 중첩 될 수있는 { } 때문에 나를 괴롭힌다. 이와 같은 시체를 찾을 수있는 방법이 있을까요 아니면 중첩을 저장하기 위해 스택이나 일부 변수를 사용해야 할 것입니다.

+2

정규식으로는이 작업을 수행 할 수 없습니다. regex는 문맥을 구별하지 않기 때문에. 당신이 말한 것처럼 당신은 당신의 카운트를 유지할 수 있습니다. 그리고 당신은 괜찮을 것입니다. –

+0

XHTML 자체 포함 태그를 제외한 [RegEx 일치하는 공개 태그]의 가능한 복제본 (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) –

답변

1

흥미 진진한 정규 학습 프로젝트가 아니라면보다 전문적인 접근 방법을 고려해야합니다. 대안을 고려하지 않고 정규식이 적절한 접근 방식이라고 판단한 것 같습니다.

pycparser과 같은 것을 사용하는 것이 좋겠지 만 무거운 짐을 덜어 주며 원하는 것을 쉽게 할 수있는 형태로 프로그램을 제시 할 것입니다.

+0

비표준 라이브러리를 사용할 수 없습니다. – gragas01

+0

@ gragas01 그러면 C 파서 작성을 암시하지 않는 한 작업을 수행 할 수 없습니다. –

+0

그래서 일부 강사가 만든 문제이고 숙제에 도움이 필요하십니까? 솔직히 말하면 그렇게한다면 – holdenweb