0

我是 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>

有什么解决办法吗?

4

1 回答 1

1

我得到了答案。我正在做的是,对其余不匹配的文本没有任何操作。我将 lex 程序的规则部分设为:

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

就是这样。现在它打印所需的输出。

于 2013-10-14T20:48:35.077 回答