import re
text1 = '"Python", "PHP", "Java",'
print(re.findall(r'P(.*?)n', text1))
预期输出:'Python‘
实际输出:'ytho‘
尽管regex引擎与'Python‘匹配,findall在输出中忽略了'P’和'n‘。有人能说出这里到底发生了什么吗?
发布于 2020-09-19 14:17:22
您需要一个非捕获组:
re.findall(r'P(?:.*?)n', text1)
注意左括号后面的?:
。否则,re
仅捕获与括号中的表达式匹配的字符串部分。
https://stackoverflow.com/questions/63965773
复制相似问题