Использование пипарса, чтобы соответствовать конкретному окончанию строки
Вопрос
Как я могу построить структуру Python Pyparsing, которая совпадает с определенным окончанием строки. Например, предположим, что я хочу найти все слова, которые заканчиваются «Ing». Следующее не работает:
ing_ending = Word(alphas) + Literal("ing") + White();
ing_ending.parseString("jumping")
Это было бы довольно легко сделать в Python и Regex, но доставляет мне проблемы в пипарсинге.
Решение
Просто используйте regex
>>> import pyparsing
>>> ing_ending = pyparsing.Regex(r'(?i)\b[a-z]+ing\b')
>>> ing_ending.parseString("jumping")
(['jumping'], {})
Не связан с StackOverflow