jflex 正则表达式除零以外的任何数字
jflex regular expression any number except zero
我是 JFlex 的新手,我 运行 遇到了正则表达式问题。
我正在尝试在 .flex
文件中编写可识别除零以外的任何数字的正则表达式。
问题是,当我在 .bnf
文件中尝试我的正则表达式时,在 实时预览 中一切正常,但是当我尝试使用 .flex
生成 class - 没有任何效果。
这是我在 .bnf
文件中运行良好的正则表达式:
{
tokens = [
NUMBER = 'regexp:^[1-9]\d*'
]
}
但是在 .flex
文件中这个正则表达式不起作用:
NUMBER = ^[1-9]\d* // Compile error here. <expression> expected, got '^'
NUMBER = [^[1-9]\d*] // Compiles, but not working.
NUMBER = \^[1-9]\d*\ // Compiles, but not working.
我做错了什么?
您可以使用
NUMBER = [1-9][0-9]*
这将匹配从 1
到 9
的数字,然后是任何零个或多个数字。
此处似乎不支持 ^
字符串锚点的开头。
我是 JFlex 的新手,我 运行 遇到了正则表达式问题。
我正在尝试在 .flex
文件中编写可识别除零以外的任何数字的正则表达式。
问题是,当我在 .bnf
文件中尝试我的正则表达式时,在 实时预览 中一切正常,但是当我尝试使用 .flex
生成 class - 没有任何效果。
这是我在 .bnf
文件中运行良好的正则表达式:
{
tokens = [
NUMBER = 'regexp:^[1-9]\d*'
]
}
但是在 .flex
文件中这个正则表达式不起作用:
NUMBER = ^[1-9]\d* // Compile error here. <expression> expected, got '^'
NUMBER = [^[1-9]\d*] // Compiles, but not working.
NUMBER = \^[1-9]\d*\ // Compiles, but not working.
我做错了什么?
您可以使用
NUMBER = [1-9][0-9]*
这将匹配从 1
到 9
的数字,然后是任何零个或多个数字。
此处似乎不支持 ^
字符串锚点的开头。