2016-12-05 2 views
0

수신중인 HTML 소스에서 모든 단일 태그를 분리하려고합니다.RegEx를 사용하여 HTML 소스를 분석하십시오.

나는 거대한 코드 조각이며, 인간 분석을 위해 더 읽기 쉽도록 노력하고 있습니다.

RegEx(<\w*>.*<\/\w*>) 

을하지만이 </html>까지 !DOCTYPE 태그와 실행 '의 beggining을 얻을 : 이 지금까지 난 단지이 정규식 코드까지했다.

그리고 내가하려는 것은 형식과 관계없이 개별적으로 각 태그를 선택하는 것입니다.
또한이 RegEx를 JavaScript로 실행하고 있습니다.

어떤 제안은 매우있는 즉시 문제는 사소한 해결

답변

2

:)를 환영합니다. 와일드 카드를 만들어야합니다 lazy instead of greedy. 당신이 *을 변경하려면, 즉

(일치하는 모든 당신이 그 이전 일이 일치 할 수있는) ... (그 이전 일을 일치 수있는만큼 거의 일치하지만 여전히 당신이 다음 일이 일치 할 수 있습니다) *?에를

을하지만, 속성 값이나 스크립트 요소 또는 스타일 요소 내에 >이 있으면 코드가 손상됩니다.

구문 분석 HTML은 간단하지 않습니다. Regular expressions are not a good tool for it. 대신 기존 라이브러리를 사용하십시오.

+0

이번에는 여러 가지 방법으로 문제를 해결하기 위해 사고 방식을 바꾸 었으며, 좋은 라이브러리를 발견했습니다. Jsoup, 그리고 좋은 것 같습니다. 팁을 사용하여 '*?'. 대단히 감사합니다. D –

관련 문제