2011-07-19 16 views
1

文字列から可変数の単語からなる部分文字列を抽出するためにpyparsingを取得しようとしています。pyparsingを使用して可変長部分文字列を抽出する

次はほとんど動作しますが、サブ文字列の最後の言葉を失う:

text = "Joe F Bloggs is the author of this book." 
author = OneOrMore(Word(alphas) + ~Literal("is the")) 

print author.parseString(text) 

出力:

['Joe', 'F'] 

私は何をしないのですか?

PS:私はこれを正規表現で行うことができますが、具体的にはpyparsingを使って書かれた大きな努力に適合する必要があるため、特にpyparsingでそれをしたいと思っています。

答えて

1

あなたの否定先読みは、実際の著者の言葉の前に来ています

>>> author = OneOrMore(~Literal("is the") + Word(alphas)) 
>>> print author.parseString(text) 
['Joe', 'F', 'Bloggs'] 
関連する問題