我对正则表达式还比较新。我试图找到一个匹配特定模式的最短文本字符串,但是如果最短模式是更大的匹配的子字符串,我会遇到麻烦。例如:
import re
string = "A|B|A|B|C|D|E|F|G"
my_pattern = 'a.*?b.*?c'
my_regex = re.compile(my_pattern, re.DOTALL|re.IGNORECASE)
matches = my_regex.findall(string)
for match in matches:
print match
打印:
A|B|A|B|C
但我希望它返回:
A|B|C
有没有一种方法可以在不循环查看每个匹配项是否包含与之匹配的子字符串的情况下完成这个任务?