2011-04-24 5 views

답변

3

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'], {}) 
+0

'Combine'은'from : mary'에 대해'ParseException'을 던지지 않습니다. 나는 오류가 던져 지길 바래. –

+0

그것은 작동합니다. 나는 예외를 덫을 놓고 있었다. –

+2

또한 'leaveWhitespace' 메소드를 읽어 특정 표현식에 대한 공백 건너 뛰기를 억제하십시오. 공백을 건너 뛰지 않고 일치해야하는 표현식에 대해이 메소드를 호출하십시오. ':'과 이름을 포함하는 단어를 사용하십시오. – PaulMcG

관련 문제