아무도 묻기 전에 어떤 종류의 스크린 스크랩을하고 있지 않습니다.Regex - div로 중첩 된 div로 id의 div 내용 찾기
HTML 문자열을 구문 분석하여 특정 ID가있는 div를 찾으려고합니다. 나는이 일을 할 수 없다. 다음 표현식은 한 인스턴스에서 작동했지만 다른 인스턴스에서는 작동하지 않았습니다. 그것이 html에있는 여분 성분으로해야 한 ㄴ다는 것을 있건 없건간에 나는 확실하지 않다.
<div\s*?id=(\""|"|")content(\""|"|").*?>\s*?(?>(?! <div\s*?> | </div>) | <div\s*?>(?<DEPTH>) | </div>(?<-DEPTH>) | .?)*(?(DEPTH)(?!))</div>
관련 사업부를 올바르게 올바른 ID를 가지는 최초의 사업부를 찾는 것입니다,하지만 다음 첫 번째 닫는 DIV에 문을 닫습니다, 그리고.
<div id="firstdiv">begining content<div id="content">some other stuff
<div id="otherdiv">other stuff here</div>
more stuff
</div>
</div>
이 다시
<div id="content">some other stuff
<div id="otherdiv">other stuff here</div>
more stuff
</div>
가지고해야하지만, 어떤 이유로, 그것을하지 않습니다. 그것은 돌아오고 있습니다 :
<div id="content">some other stuff
<div id="otherdiv">other stuff here</div>
아무도 쉽게 처리 할 수 있습니까?
분명히하기 위해 이것은 .NET에 있으며 DEPTH 키워드를 사용하고 있습니다. 자세한 내용은 here을 참조하십시오.
upvoted - 이것은 정규식이 수행 할 수있는 한계를 새로운 프로그래머에게 가르쳐주는 훌륭한 질문입니다. – Cybis
아마도 순수한 Reg. 특급. 그러나 확실히 .net으로 할 수 있습니다. 내 대답을 보라. – pro3carp3