2013-10-14 2 views
0

렉스를 처음 접했습니다. 파일에서 모든 HTML 태그를 추출하는 lex 프로그램을 작성하고 싶습니다. 태그와 일치시키기 위해 여러 패턴을 시도했지만 모두 제대로 작동하지 않았습니다.LEX 유틸리티의 html 태그와 일치하는 정규 표현식 패턴?

나는

"<"[^>]*> /*The quotes because lex utility gives error that improper start of expression*/ 
"<"[a-z]+[/]*> 

그리고 더 많은 ...하지만 그들에

<h1> This is a heading </h1> 

같은 라인을 실행하고 yytext에서 그것을 인쇄 할 때, 그것은 단지의 전체 라인을 인쇄 시도 그대로 인쇄하는 대신 코드를 그대로 사용하십시오.

<h1></h1> 

모든 솔루션?

+0

HTML을 정규식으로 구문 분석하지 마십시오. –

+0

그 밖의 무엇을 할 수 있습니까? 내 문제 정의는 입력 파일에서 모든 HTML 태그를 추출하는 lex 프로그램을 만드는 것이다. –

답변

1

답변을 얻었습니다. 내가하고있는 일은 남은 텍스트에 대해 아무런 조치도 취하지 않는 것입니다.

"<"[^>]*> { /* action for tags */ } 
.|\n  ; 

그리고 그게 전부 : 나는대로 렉스 프로그램의 내 규칙 섹션을했다. 이제는 원하는 출력을 인쇄합니다.