Regex 如何制作ANTLR双正则表达式?

Regex 如何制作ANTLR双正则表达式?,regex,antlr,Regex,Antlr,我得到了令牌识别错误,我不知道为什么 DOUBLE: ^[0-9]+\.?[0-9]*$; INT: [0-9]* ; 在编辑器中,^、\和$下面有红色的曲线 .ANTLR不使用正则表达式作为规则规范。有时候看起来可能是这样,但事实并非如此。您的规则必须如此: DOUBLE: [0-9]+ '.'? [0-9]*; 您可能需要删除^和$这些正则表达式是您自己编写的还是从某处复制的?为什么您决定锚定双正则表达式,而不是INT?是的,删除^and$锚定很好,但它仍然不喜欢我的转义“.”,我不知道

我得到了令牌识别错误,我不知道为什么

DOUBLE: ^[0-9]+\.?[0-9]*$;
INT: [0-9]* ;
在编辑器中,
^
\
$
下面有红色的曲线


.ANTLR不使用正则表达式作为规则规范。有时候看起来可能是这样,但事实并非如此。您的规则必须如此:

DOUBLE: [0-9]+ '.'? [0-9]*;

您可能需要删除
^
$
这些正则表达式是您自己编写的还是从某处复制的?为什么您决定锚定
双正则表达式,而不是
INT
?是的,删除^and$锚定很好,但它仍然不喜欢我的转义“.”,我不知道如何处理它。您应该能够将
[.]
替换为
\。
--看看它是否更喜欢它。