FLEX(词法分析器)正则表达式 - 重用定义
问题描述:
我有这个工作定义:FLEX(词法分析器)正则表达式 - 重用定义
IDENTIFIER [a-zA-Z][a-zA-Z0-9]*
我不想不断重复的[A-ZA-Z]和[0-9],所以我做了两个新的定义
DIGIT [0-9]
VALID [a-zA-Z]
我怎么能改写的识别规则采用数字和有效定义?
我不知道该怎么做“老二”的比赛,我在这里坚持:
IDENTIFIER {VALID}[{VALID}{DIGIT}]* // This syntax is incorrect
感谢。
编辑:我正在使用的整个测试程序:http://pastebin.com/f5b64183f。
答
它看起来像你真的想:
标志{} VALID({有效} | {DIGIT})*
[{VALID} {DIGIT}]解析为[[A-Za-z] [0-9]],这不是一个合法的构造。
答
我认为这样做,但我无法测试它。你有样品数据吗? (?:[A-ZA-Z])
+(?:[0-9])+
+0
第一个正则表达式正在工作,但我想简化它。 – Kknd 2008-10-07 15:22:33
优秀。你整齐地指出了一点,不像我曾三次尝试过。所以我删除了我相当困惑的答案。对不起,没有upvote,但我用我所有的投票今天:( – 2008-10-07 15:38:01