Я пытаюсь разобрать фразу "без двадцати пяти час". После нормализации, я так понимаю, получается "без двадцать пять час".
И что бы я ни делал, это всегда парсится как "без" + "двадцать" + "пять" + "час" = 16:40 вместо "без" + "двадцать пять" + "час" = 12:35. Порядок задания правил влияния не оказывает. В то же время "без двадцати час" парсится корректно.
"Двадцать пять" парсится с помощью словаря вида {"один": 2, ... }, в котором присутствует и "двадцать", и "двадцать пять".
Можно ли указать, что правило, которое матчит "двадцать пять", должно быть жадным, т.е. матчить как можно больше токенов или строку максимальной длины?
Я пытаюсь разобрать фразу "без двадцати пяти час". После нормализации, я так понимаю, получается "без двадцать пять час". И что бы я ни делал, это всегда парсится как "без" + "двадцать" + "пять" + "час" = 16:40 вместо "без" + "двадцать пять" + "час" = 12:35. Порядок задания правил влияния не оказывает. В то же время "без двадцати час" парсится корректно. "Двадцать пять" парсится с помощью словаря вида
{"один": 2, ... }
, в котором присутствует и "двадцать", и "двадцать пять".Можно ли указать, что правило, которое матчит "двадцать пять", должно быть жадным, т.е. матчить как можно больше токенов или строку максимальной длины?