2014-10-09 2 views
-1

일부 자습서의 내용을 변환하고 html 태그를 추출합니다. 이 정규식을 만들었습니다 : /<html\>(?!html)([\s\S]*)<\/html\>/ 첫 번째 HTML 그룹의 내용 만 캡처하려고했지만, 내 (어쩌면 나쁜 위치) 부정적인 선견자 임에도 불구하고 마지막 HTML까지 모든 것을 캡처합니다.첫 번째 정의 문자열이 아닌 모든 내용을 캡처하는 정규식

내가 여기서 무엇을 놓쳤는가?

<html\>([\s\S]*?)<\/html\> 

최초의 HTML 태그까지 모든 것을 차지한다 (live example)

This is text 
<html> 
    <div> 
    some content 
    </div> 
</html> 

This is more text 
<html> 
    <div> 
    some content 
    </div> 
</html> 
+2

욕심을 없애시겠습니까? –

답변

-1

게으른 정규식을 확인합니다.

+0

아하 ... 오케이. 그래서 나는 그 근처에 있었지만 아직도 보지 못했다. 고맙습니다! – Rikard

+2

심지어 ([\ s \ S] *?) <\/html>'작동하지 않습니다 – anubhava

+1

@Rikard'(?! html)'의 배치는 쓸모가 없습니다. 아무 것도하지 않습니다.'((?! html) .) *'. – vks

관련 문제