这个令牌不起作用

时间:2014-06-03 17:06:08

标签: flex-lexer

我不明白为什么这个令牌不起作用。令牌是这样的: TEXT = [a-zA-Z0-9 -_ ,;。 \吨\ r \ n \ r \ n]的+

令牌TEXT必须识别一些带有空格和新行的文本。例如,以下标记有效:

TEXT = [a-zA-Z0-9 -_ ,;。 \吨] +

如何在令牌TEXT中添加新行的可能性?

1 个答案:

答案 0 :(得分:0)

(作为社区Wiki回答,以便问题显示答案:见Question with no answers, but issue solved in the comments (or extended in chat)

@ user3640434报告他找到了正确的TEXT正则表达式。它识别空白和新行:

TEXT= ((\r\n|\r|\n)*[a-zA-Z0-9\-_,;. \t](\r\n|\r|\n)*)* 

@ Rob11311注意到:

如果您有一个单独的令牌规则,WHITE =[ \t\n\r]+是否可以匹配一个或多个空格项?你能解释为什么你添加了\r& \n两次进入char类?顺便说一句,您可能希望\f\b\v作为空格(formfeeds,backspace,vertical tab)。 char类有帮助吗? [[:alnum:]-_,;.[:space:]]