HTML 태그의 정규식 구문을 구축하는 방법은 무엇입니까?
정규 표현식은 문자열 처리 과정에서 대체 할 수없는 위치를 가지고 있습니다. 오늘날 컴퓨터 고급 언어에는 해당 정규 표현 지원 패키지가 있습니다.
웹 페이지의 HTML 코드를 구조화 된 문자열로 취급하면 정규식과 유사한 방식으로 원하는 HTML 태그 (태그)를 어떻게 추출 할 수 있습니까?
먼저 구현하는 방법을 고려하지 말고 HTML 태그를 정규 표현식과 같은 방식으로 설명하는 방법을 고려해보십시오. HTML 태그를 얻으려면 태그의 두 가지 유형의 속성을 알아야합니다.
1. 레이블의 위치;
2. 태그 자체의 속성;
예를 들어 다음 HTML 페이지에서 다음과 같습니다.
<html>
<body>
<div id = "bodywrapper">
<div id = "LeftWrapper">
</div>
<div id = "RightWrapper">
<div>
<div>
<div>
<div>
</div>
</div>
</body>
</html>
위의 HTML 코드에서 두 번째 DIV 태그를 추출하려면 DIV의 ID, 클래스 및 위치 정보를 지정해야합니다. 문제는 이제 위의 요구 사항을 충족하는 표현 문법을 설계하는 방법입니다.
예를 들어:
getTag : div {tag-name : div; tag-position : 2; tag 클래스 : 열; tag-id :; 태그 컨텐츠 :;}
tag-parent {tag-name : div; tag-position : 2; tag class : column; tag-id :; 태그 컨텐츠 :;}
Tag-Child {......}
위에는 이해하기 쉬운 설명 구문이 있습니다.
또는 파이썬과 같은 구문 :
gettag : div
태그 이름 :
태그 -ID :
태그 위치 : 2
태그 클래스 : 열
태그 컨텐츠 :
태그 부모 :
태그 이름 :
태그 -ID :
태그 위치 : 2
태그 클래스 : 열
태그 컨텐츠 :
태그-자식 :
태그 타입 : 테이블
더 적합한 문법 표현 형태가 있는지 모르겠습니다. 이 표현 문법을 합리적으로 설계 할 수있는 한, 후속 작업은 쉽게 수행 할 수 있습니다. 이것의 궁극적 인 목표는 : 프로그래머는 일반 문자열을 처리하는 것만 큼 편리한이 표현식으로 HTML 코드를 구속 할 수 있습니다.
모두가 참여하고 더 많은 아이디어를주기를 바랍니다. 나는 모든 사람의 피드백에 따라이 문법을 개선 하고이 문법을 기반으로 구현할 것입니다.
참조 :
정규 표현에 대한 기본 소개는 여기에서 찾을 수 있습니다.
http://www.vevb.com/htmldata/2006-03-16/1142469074.html
http://www.vevb.com/htmldata/2006-03-16/1142468929.html
정기적 인 표현은 1956 년 수학자 Stephen Kleene이 자연 언어의 증분 연구 결과를 바탕으로 처음 제안했습니다. 전체 구문을 가진 정규 표현식은 문자의 일치 형식에 사용되었으며 나중에 용융 정보 기술 분야에 적용되었습니다. 그 이후로 여러 기간의 개발 후, 현재 표준은 ISO (International Standards Organization)의 승인을 받았으며 Open Group에서 인정했습니다.
정규 표현은 전문 언어가 아니지만 파일이나 문자에서 텍스트를 찾고 교체하는 표준으로 사용할 수 있습니다. 기본 정규 표현식 (BRE), 확장 정규 표현식 (ERE)의 두 가지 표준이 있습니다. ERE에는 BRE 기능 및 기타 개념이 포함됩니다.
정규 표현식은 XSH, EGREP, SED, VI 및 UNIX 플랫폼의 프로그램을 포함한 많은 프로그램에서 사용됩니다. HTML 및 XML과 같은 많은 언어로 채택 할 수 있으며, 이는 일반적으로 전체 표준의 하위 집합 일뿐입니다.