1

我有这个工作定义:

IDENTIFIER   [a-zA-Z][a-zA-Z0-9]*

我不想一直重复 [a-zA-Z] 和 [0-9],所以我做了两个新定义

DIGIT    [0-9]
VALID    [a-zA-Z]

如何重写 IDENTIFIER 规则以使用 DIGIT 和 VALID 定义?

我不知道如何进行“第二次”比赛,我被困在这里:

IDENTIFIER {VALID}[{VALID}{DIGIT}]* // This syntax is incorrect

谢谢。

编辑:我正在使用的整个测试程序:http: //pastebin.com/f5b64183f

4

2 回答 2

3

看起来您实际上想要:

IDENTIFIER {VALID}({VALID}|{DIGIT})*

[{VALID}{DIGIT}]解决[[A-Za-z][0-9]]哪个不是合法的构造。

于 2008-10-07T15:30:43.937 回答
-1

我认为这会做到,但我无法测试它。你有样本数据吗?

(?:[a-zA-Z])+(?:[0-9])+
于 2008-10-07T15:19:16.177 回答