首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >findall的奇怪行为

findall的奇怪行为
EN

Stack Overflow用户
提问于 2020-09-19 14:06:55
回答 1查看 19关注 0票数 0
代码语言:javascript
代码运行次数:0
运行
复制
import re
text1 = '"Python", "PHP", "Java",'
print(re.findall(r'P(.*?)n', text1))

预期输出:'Python‘

实际输出:'ytho‘

尽管regex引擎与'Python‘匹配,findall在输出中忽略了'P’和'n‘。有人能说出这里到底发生了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2020-09-19 14:17:22

您需要一个非捕获组:

代码语言:javascript
代码运行次数:0
运行
复制
re.findall(r'P(?:.*?)n', text1)

注意左括号后面的?:。否则,re仅捕获与括号中的表达式匹配的字符串部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63965773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档