1

文字列から可変数の単語で構成されるサブ文字列を抽出するために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で実行したいと思います。

4

1 に答える 1

1

あなたの否定的な先読みは、実際の著者の言葉の前に来なければなりません:

>>> author = OneOrMore(~Literal("is the") + Word(alphas))
>>> print author.parseString(text)
['Joe', 'F', 'Bloggs']
于 2011-07-19T16:13:52.660 に答える