import re
mysentence = 'have a dog a cute cat and a big cow '
myanimal = 'dog', 'cat' , 'cow'
print re.finditer('have(.*?)myanimal',mysentence)
これは私の動物の紐がとられていないので、これは機能しません。それを動作させるための考え?文字列に2つの値を与える方法
import re
mysentence = 'have a dog a cute cat and a big cow '
myanimal = 'dog', 'cat' , 'cow'
print re.finditer('have(.*?)myanimal',mysentence)
これは私の動物の紐がとられていないので、これは機能しません。それを動作させるための考え?文字列に2つの値を与える方法
Q>あなたが引用の内部myanimalていたように私の動物の文字列が
を取らされていません(「(持っている。*?)myanimal」)それは文字列の一部としてみなされるであろう、それは実際の値ではないだろうです置換される。
正規表現を形成する必要がある、とmyanimalがリストであるから:
for animal in myanimal:
regex = re.compile('have a .*%s'%animal)
for m in re.finditer(regex, mysentence):
print m.group()
output:
have a dog
have a dog a cute cat
have a dog a cute cat and a big cow
が、これは....
それを修正する方法は? –
答えを更新しました..見てください – avasal
>>> import re
>>> mysentence = 'have a dog a cute cat and a big cow '
>>> myanimal = 'dog', 'cat' , 'cow'
>>> m = re.match(r'have a (?:%s)' % '|'.join(map(re.escape, myanimal)), mysentence)
>>> m.group()
'have a dog'
を助けることができるかもしれませあなたには、いくつかの詳細を共有することができ、あなたは何をと期待していますここに出力.. – avasal
出力[犬がいる] –