私はpyparsingを学ぼうとしています。それは有望で、テキスト処理に使うのが楽しいものに聞こえます。とにかく、ここに私の質問があります:
コース名のリストがあります。例えば、
courselist = ["Project Based CALC",
"CALCULUS I",
"Calculus II",
"Intermediate MICRO",
"Intermediate CALCULUS advance",
"UNIVERSITY PHYSICS"]
上記のような微積分に関係するコースをリストから抽出したいと思います。これらは、完全な単語CALCULUSまたは略語CALCを持つコースのいずれかです。まず、これらの単語が大文字でのみ表示されると仮定します(上記の例では小文字の単語があります。今のところそれを無視しましょう)。
私は次のコードを書きました:
import pyparsing as pp
calc = pp.Literal("CALC")
for entry in courselist:
if len(calc.searchString(entry)) >= 1:
print entry
else:
pass
私の最初の質問は、pyparsingを使用してこれを行うためのより良い方法があるかどうかです。
今、上記は逃しCalculus II
ます。私は次のように定義することでそれを捕まえることができることを知ってcalc
います:
calc = pp.Literal("CALC") | pp.Literal("Calc")
しかし、これは見逃しcAlc
ます。CALCのすべての小文字と大文字が一致するように文法を指定する方法はありますか?
ご協力ありがとうございました。