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