如何在词汇流氓结构中包含正则表达式?

How to include regexp in lexical rascal structure?

我正在尝试通过识别像 1_111_111.

这样的大数字来改进 java18 词汇结构

我试过了:

lexical DeciNumeral = 
"0"
| \b([1-9](\d{0,2}))(_\d{3,3})*\b;

感谢@davy 和@jurgenv。我设法用这段代码解决了我的问题

lexical DeciNumeral =
"0"
| [1-9]
| [1-9] [0-9 _]* [0-9];

Lexicals are not regular expressions。它们只是没有交错布局的普通非终端。 非终结符中有支持正则表达式子集的产生式。在这里阅读更多相关信息:Symbol.

您的代码示例可以是:

lexical DeciNumeral = {[0-9]+ !>> [0-9] "_"}+;

这是一组或多组ps的数字,可以用下划线分隔。

ps:很高兴您扩展了 Java 1.5 语法,如果可能,请分享您的结果!