当前位置: 技术问答>linux和unix
关于"/"(斜线)在lex(not flex)中的使用问题
来源: 互联网 发布时间:2015-11-22
本文导语: 我最近要写个程序,需要从文件识别 "正则表达式", 其中正则表达式首尾以'/'识别. 我是通过lex来读文件的. 所以我就用了 /(\[^ tn]|[^ tn\/])*/ 来识别该表达式. 在linux平台下用flex识别没问题,但是在solaris下用lex却不行...
我最近要写个程序,需要从文件识别 "正则表达式", 其中正则表达式首尾以'/'识别.
我是通过lex来读文件的.
所以我就用了 /(\[^ tn]|[^ tn\/])*/ 来识别该表达式.
在linux平台下用flex识别没问题,但是在solaris下用lex却不行.
原因是用lex的时候, '/'是不允许出现在'('和')'中的。
(A further restriction is that the trailing-context operator / (slash) cannot be grouped within parentheses.)
(规定在solaris下只能用lex)
希望高手给出一个可行的解决方法,兄弟谢谢先了.
我是通过lex来读文件的.
所以我就用了 /(\[^ tn]|[^ tn\/])*/ 来识别该表达式.
在linux平台下用flex识别没问题,但是在solaris下用lex却不行.
原因是用lex的时候, '/'是不允许出现在'('和')'中的。
(A further restriction is that the trailing-context operator / (slash) cannot be grouped within parentheses.)
(规定在solaris下只能用lex)
希望高手给出一个可行的解决方法,兄弟谢谢先了.
|
只是限制r/x类型的RE。你要识别的是什么文本?