Есть ли элегантный способ пропустить ввод до тех пор, пока конкретное слово использует tatsu , не полагаясь на необработанное повторное выражение?
Например, я могу сделать:
start=/(.|\n)*?John/
< /code>
Но я бы хотел написать его, используя правильные правила грамматики, что -то вроде: < /p>
start = skip_until('John').
< /code>
Я попытался определить правила, но не смог заставить его работать. Я хочу соответствовать нескольким именам < /strong> (например, «Джон», «Анна» и т. Д.), Которые могут появиться после произвольного текста (включая новички). < /P>
Вот код, который я хочу улучшить.
есть более модульный способ сделать это в Tatsu?from tatsu import compile
grammar = '''
start = /(.|\n)*?John/ ;
'''
model = compile(grammar)
text = """Some random text
on multiple lines
before John."""
ast = model.parse(text)
print(ast)
Подробнее здесь: https://stackoverflow.com/questions/797 ... ing-a-rule
Татсу -анализ - как пропустить до тех пор, пока не использует конкретное слово, используя правило? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как перенести слово на предыдущее слово, если не подходит только последнее слово
Anonymous » » в форуме Android - 0 Ответы
- 132 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Конкретное правило перезаписывания для пользовательского URL -адреса поиска
Anonymous » » в форуме Php - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-