Как определить грамматику минимум 1 из foo и максимум 1 из barPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как определить грамматику минимум 1 из foo и максимум 1 из bar

Сообщение Anonymous »

Экономно я пытаюсь определить грамматику, в которой должно быть одно вхождение foo и от нуля до 1 появления bar в любом порядке.
Как мне стать экономным, чтобы выдать ошибку?< /p>
from parsimonious.grammar import Grammar

g = Grammar(r"""
text = ws* "section" ws* (foo / bar)+ ws*
foo = ws* "foo" ws*
bar = ws* "bar" ws*
ws = ~"\s*"
""")

print(g.parse("""section foo"""))
print(g.parse("""section foo bar bar""")) # How to throw error as more than one bar
print(g.parse("""section bar""")) # How to throw error as foo is required
print(g.parse("""section bar foo"""))
print(g.parse("""section foo bar"""))


Подробнее здесь: https://stackoverflow.com/questions/792 ... m-1-of-bar
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»