도와주세요! 다음 텍스트를 트리로 구문 분석하기위한 코드/정규 표현식을 작성해야합니다.C + +에서 정규 표현식의 텍스트 트리를 파싱
some text I want to ignore==toplevel==
some text, with newlines maybe
===nextlevel===
more text. This is a child node of 'toplevel'
===anotherchild===
this is a sibling of 'nextlevel' and a child of 'toplevel'====leaf====
this is a child of 'anotherchild'
====leaf2====
sibling of 'leaf' & child of 'anotherchild'
===child3===
this is a sibling of 'anotherchild' and 'nextlevel' and a child of 'toplevel'
등이 있습니다.
하위 레벨이 최상위 레벨과 일치하지 않도록 할 수 없습니다. 나는 = {2}을 시도했지만 ===와 ====는 여전히 일치합니다. '== toplevel =='다음의 모든 텍스트를 추출한 일치 항목을 가져 오는 것은 시작일 것입니다. 줄 바꿈을 무시하거나 먹을 수는없는 것 같습니다.
많은 도움을 주셨습니다. Charlie.
어떻게 결과를 저장할 계획입니까? – sehe
어떤 종류의 구조체 트리에서 아직 확실하지 않은 이유는 무엇입니까? –
글쎄, 당신은 구체적인 답을 기대할 수 없기 때문에. 그렇다고해서 구체적인 질문이 없습니다. 여기에 당신을위한 일반적인 정규 표현식'(== +). *? \ 1 \ n'은 - 역 참조를 지원하는 regex 엔진에서 작동합니다 (어느 것이 든 언급하지 않습니다). – sehe