2017-05-24 7 views
-7

私はリストと3つの文字列を持っています。私は文字列内のリスト変数を検索したい。正規表現渡し変数

str1 = 'lol cry' 
str2 = 'lol' 
str3 = 'cry' 

l1 = ['lol', 'cry'] 

for wo in l1 : 
    if re.match(r"^"+wo+"$|\s+wo+$", str1, re.M|re.I): 
     print "yes" 

ここで私の正規表現は間違っています。私は|状態の変数として "wo"を追加したいと思います。しかし、私のコードは文字列として扱います。正規表現にstr1、str2、str3を渡すと、yesを返します。

+3

私はあなたが何をしたいのかgetingていませんよ。サンプルの入力と出力のサンプルを一緒に書き直せますか? –

+0

もちろんです。別の変数である最初のオカレンスとは異なり、引用符に 'wo'を含めました。 "$" \ "+" $ "\" + "$" ' – chepner

+0

@chepnerそれでも' str1'とは一致しません。 –

答えて

-1

私はそれを行う良い方法の1つを見つけました。

for wo in l1: 
 
\t for eo in l1: 
 
\t \t if re.match(r'^{0}+($|\s+{1}+$)'.format(wo, eo), str1,re.M|re.I): 
 
\t \t \t print "True"