Вы уже думаете как парсер, так как понимаете, что OneOrMore(Word(alphas))
продолжает идти даже к чтению слова "скачки".Теперь переверните это и напишите синтаксический анализатор, чтобы делать вещи так, как вы думаете.
Для каждого слова вплоть до «прыжков», как вы знаете, что оно должно быть добавлено к ведущему набору слов?Вы знаете для каждого слова, потому что это не слово «прыжки».Pyparsing не выполняет этот поиск автоматически, но вы можете сделать это самостоятельно с помощью NotAny (которую можно сократить, используя оператор '~'):
JUMPS = Literal("jumps")
some_words = OneOrMore(~JUMPS + Word(alphas))
Теперь перед соответствием другому слову some_words сначала проверяет, чтоСлово не "прыгает".