[英]Python regex: Looping through keys to find exact match
我试图找到某个字符串的完全匹配:
提示用户输入一个字符串,说“ AAAA”,我想在某个字典中查找此键的确切时刻,字典看起来像{'AAAA':1,'ZZZZ':2,'BCBC' :3}
现在我有:
string = input("enter string")
for key in dict.keys():
regex = re.compile(r'^(key)$')
if re.search(regex, string):
match = re.search(string)
print('match at %s') % (match.group(0))
我希望用户输入一个字符串,然后遍历所有可能的键,看看是否存在完全匹配的内容。 如果存在完全匹配,我想返回该键所在的值(索引)。 因此,如果用户输入AAAAZZZZ,我希望它打印(1,2)
在这种情况下,我不会使用regexp,而只是浏览可能的键:
d = {'AAAA':1, 'ZZZZ':2, 'BCBC':3}
k = 'AAAAZZZZ'
result = []
start_index = 0
for index in range(0, len(k)+1):
if k[start_index:index] in d:
result.append(d[k[start_index:index]])
start_index = index
print(result)
抱歉,如果我的python有点生锈,但是您应该只存储所需的索引,并在循环后将其合并。
注意:这可能不是解决此问题的最有效方法,但是对于一本小词典来说,这并不可怕。
string = input("enter string")
indices = []
for key in dict.keys():
regex = re.compile(r'^(key)$')
if re.search(regex, string):
match = re.search(string)
indices.append(dict[key])
print(','.join(map(str, indices)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.