2013-06-12 2 views
1
내가이 일을 할 것이라고 생각 몇 백 HTML 파일

메모장 ++ (펄) 정규식 일치 여러 선 패턴

<div id="mydiv"> 
    blahblah blah 
    more blah blah 
    more html 
    <some javascript here too> 
</div> 

에서 사업부를 제거하려면 있지만

<div(.*)</div> 
을하지 않습니다

사람이 어떤 적절한 정규식을 알고 있나요? 사전에

감사

답변

2

정규식

<div[^>]+>(.*?)</div> 

아래 그림처럼 옵션 . matches newline을 확인하는 것을 잊지 마십시오 또는 dot matches newline checkbox - Notepad++ v6.2.3

, 당신은 또한이 정규식을 사용할 수 있습니다 : <div[^>]+>([\s\S]*?)</div> 확인란을 선택하거나 선택하지 않습니다.

* 메타 문자는 욕심 때문에, 당신은 가능한 문자 (? 사용) 한 적은 가지고 그에게 말할 필요가 토론.

제거 할 div가 중첩 된 div를 포함하지 않는지 확인하십시오. 이 경우, 내 대답의 시작 부분에있는 정규식은 도움이되지 않습니다.

이 경우에는 html 파서를 사용하는 것이 좋습니다.

+0

당신은 을 의미하지만 작동하지 않습니다. – MIrrorMirror

+0

@MIrrorMirror 내가 만든 편집을 확인하십시오. – Stephan

+0

편집 된 답장을 시도했지만 여전히 작동하지 않습니다. 아니오, 중첩 된 div가 없습니다 – MIrrorMirror