ここで何が間違っているのだろうか。誰かがこの問題についてヒントをくれるかもしれません。string で終了する pyparsing を使用して特定のトークンを検出したいと考えています_Init
。
例として、次の行をtext
one
two_Init
threeInit
four_foo_Init
five_foo_bar_Init
次の行を抽出したい:
two_Init
four_foo_Init
five_foo_bar_Init
現在、問題を次の行に減らしました。
import pyparsing as pp
ident = pp.Word(pp.alphas, pp.alphanums + "_")
ident_init = pp.Combine(ident + pp.Literal("_Init"))
for detected, s, e in ident_init.scanString(text):
print detected
このコードを使用しても結果はありません。"_"
ステートメント内のを削除するとWord
、少なくとも_Init
末尾に がある行を検出できます。しかし、結果は完全ではありません:
['two_Init']
['foo_Init']
['bar_Init']
ここで私が完全に間違っていることを誰かが考えていますか?