私の最初の問題は、文字列を取り除いてから演算子で分割する必要があることです。
s = " a & b | c & d "
l = map(lambda x : map(lambda x:x.strip() , x.strip().split('&')), s.strip().split('|'))
これは読みにくいので、decorator を使用してこの strip() 前処理を行うことを考えています。
ここに私の現在の解決策がありますが、機能していません!
アップデート:
query_AND =lambda wl: '.*'+'.*'.join(wl)+'.*'
def d_query_AND(query_split):
def d_query_AND_f(query_split):
return query_AND(query_split)
#return query_spli
return d_query_AND_f
@d_query_AND
def query_split(p):
return [v for v in p.split('&')]
print query_split("asd & asdsa & sadsa")