为部分通用匹配模式定义一个名字可以帮助我们分解复杂的表达式,并有助于表达出你的设计意图。
定义采用的格式:
NAME RE_Expr
名字可以包含字母、数字、连字符和下划线,但不能以数字开头。
在规则部分,模式可能会包含通过花括号{}括起的基于名字的替换,例如{NAME}。这个名字所代表的表达式将被代入到模式中,并且该表达式会被认为已经用圆括号括起来了,例如:
DIG [0-9]
...
%%
{DIG}+ { process_integer(); }
{DIG}+\.{DIG}* |
\.{DIG}+ { process_real(); }
%%