регулярное выражение jflex любое число кроме нуля - PullRequest
2 голосов
/ 05 марта 2020

Я новичок в JFlex, и у меня возникла проблема с регулярным выражением.

Я пытаюсь записать в .flex файл регулярное выражение, которое распознает любое число, кроме нуля.

Дело в том, что когда я пробовал свое регулярное выражение в .bnf файле, все отлично работает в live-preview , но когда я пытаюсь использовать .flex сгенерированный класс - ничего не работает.

Это мое регулярное выражение в .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.

Что я делаю неправильно ?

1 Ответ

1 голос
/ 05 марта 2020

Вы можете использовать

NUMBER = [1-9][0-9]*

Это будет соответствовать ди git от 1 до 9 и затем любым нулям или более цифрам.

Начало ^ якоря строки здесь не поддерживается.

...