繁体   English   中英

Python正则表达式:遍历键以查找完全匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM