5
grammar = Literal("from") + Literal(":") + Word(alphas)
문법은 from : mary
을 거부하고 from:mary
, 즉 인터리빙 공백없이 허용해야합니다. pyparsing에서 이것을 어떻게 적용 할 수 있습니까? 감사합니다pyparsing에서 리터럴 사이에 공백을 허용하지 않으려면 어떻게해야합니까?
grammar = Literal("from") + Literal(":") + Word(alphas)
문법은 from : mary
을 거부하고 from:mary
, 즉 인터리빙 공백없이 허용해야합니다. pyparsing에서 이것을 어떻게 적용 할 수 있습니까? 감사합니다pyparsing에서 리터럴 사이에 공백을 허용하지 않으려면 어떻게해야합니까?
Combine
을 (를) 사용할 수 있습니까? 그럼
grammar = Combine(Literal("from") + Literal(":") + Word(alphas))
: 귀하의 코멘트에 응답
편집.
정말요?
>>> grammar = pyparsing.Combine(Literal("from") + Literal(":") + Word(pyparsing.alphas))
>>> grammar.parseString('from : mary')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/pyparsing.py", line 1076, in parseString
raise exc
pyparsing.ParseException: Expected ":" (at char 4), (line:1, col:5)
>>> grammar.parseString('from:mary')
(['from:mary'], {})
'Combine'은'from : mary'에 대해'ParseException'을 던지지 않습니다. 나는 오류가 던져 지길 바래. –
그것은 작동합니다. 나는 예외를 덫을 놓고 있었다. –
또한 'leaveWhitespace' 메소드를 읽어 특정 표현식에 대한 공백 건너 뛰기를 억제하십시오. 공백을 건너 뛰지 않고 일치해야하는 표현식에 대해이 메소드를 호출하십시오. ':'과 이름을 포함하는 단어를 사용하십시오. – PaulMcG