Узоры в Jflex - PullRequest
       26

Узоры в Jflex

0 голосов
/ 03 июля 2018

Мой вопрос Могу ли я использовать шаблоны в коде Java ?? Я имею в виду, если у меня есть этот код, могу ли я использовать pdf слово в коде Java, который я хочу использовать сам шаблон и манипулировать им с помощью Java, так есть ли способ сделать это?

    pdf = "."("full.pdf" | "full.pdf+html" | "pdf")

    <YYINITIAL>
    {
        {pdf}
       {
          String x=pdf; 
          return YYEOF;
       }
    }

Я пытался искать, но ресурсов мало, спасибо за помощь.

1 Ответ

0 голосов
/ 03 июля 2018

JFlex не предназначен для автономного сопоставления с образцом. Таким образом, использование этого способа вряд ли сработает ... без значительных изменений в JFlex.

Но хорошая новость заключается в том, что регулярные выражения Java Pattern более выразительны, чем регулярные выражения JFlex.


С другой стороны, если вы спрашиваете, как извлечь текст, который соответствует регулярному выражению лексера ... чтобы вы могли использовать его в коде Java внутри { ... } в вашем парсере, тогда просто вызовите yytext(); например как-то так:

pdf = "."("full.pdf" | "full.pdf+html" | "pdf")

<YYINITIAL>
{
   {pdf}
   {
      String x=yytext(); 
      return YYEOF;
   }
}

См. http://jflex.de/manual.html#ScannerMethods

...