Regex 正则表达式从4个字符的字符串中识别正确位置的2个字符

Regex 正则表达式从4个字符的字符串中识别正确位置的2个字符,regex,simplify,Regex,Simplify,例如,我有字符串“abcd”,我希望找到所有匹配项,其中至少有两个字符匹配,并且位置正确。因此,ab12、a1c2、12cd等都将匹配,因为它们在abcd的正确索引中至少包含2个字符 我意识到我可以试着用/ab..a.c..a..d..bc..b.d..cd/g来做,但是有更好/更简单的方法吗 谢谢 您可以使用该软件包轻松完成此任务 import regex s = 'abcd' a = ['ab12', 'a1c2', '12cd', '123d', 'abc4', 'abcd'] r

例如,我有字符串“abcd”,我希望找到所有匹配项,其中至少有两个字符匹配,并且位置正确。因此,ab12、a1c2、12cd等都将匹配,因为它们在abcd的正确索引中至少包含2个字符

我意识到我可以试着用/ab..a.c..a..d..bc..b.d..cd/g来做,但是有更好/更简单的方法吗


谢谢

您可以使用该软件包轻松完成此任务

import regex

s = 'abcd'
a = ['ab12', 'a1c2', '12cd', '123d', 'abc4', 'abcd']

r = regex.compile('(?:'+regex.escape(s)+'){e<=2}')

for x in a:
    if(r.fullmatch(x)):
        print(x)
print([x for x in a if(r.fullmatch(x))])