我是python的新手,正在尝试寻找执行匹配和替换的最佳,最有效的方法。这是我的问题。
我有一本字典,里面有以下条目。
myDict = {'I HAVE A * NAMED *':'A <star=1> named <star=2> is cool!'}
我的目标是输入:
myInput = raw_input()
# Example input: I HAVE A DOG NAMED MAX
然后将此输入与myDict中的键匹配:
input: 'I HAVE A DOG NAMED *MAX*' matches with dictionary key: 'I HAVE A * NAMED *'
然后输出带有星标的键值,并用缺少的myInput单词DOG和MAX代替。
output = 'A DOG named MAX is cool!'
任何明智的建议,将不胜感激!
最佳答案
这就是你想要的吗?
import re
myDict = {'I HAVE A (.+) NAMED (.+)':'A <star=1> named <star=2> is cool!'}
input="I HAVE A dog NAMED max"
for x in myDict.keys():
if re.match(x,input) :
d=myDict[x]
for n in range(1, 3):
d = d.replace('<star='+str(n)+'>',re.match(x,input).group(n))
print '=>', d
关于python - 推荐使用Python文本匹配和替换技术,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42559596/