您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python正则表达式:re.findall(r“(do | re | mi)+”,“ mimi rere midore”)

python正则表达式:re.findall(r“(do | re | mi)+”,“ mimi rere midore”)

区别在于捕获组。在捕获组中, findall()返回捕获的内容。没有捕获组,将返回整个比赛。 __

在第一个示例中,组 捕获两个字符(重复或不重复)。在第二个示例中,整个比赛包括所有重复。

关于区别的re.findall()文档非常清楚:

返回字符串中模式的所有非重叠匹配项,作为字符串列表。[…]如果模式中存在一个或多个组,则返回一个组列表;否则,返回一个列表。如果模式包含多个组,则这将是一个元组列表。

如果你的(do|re|mi)+模式是一个更大模式的一部分,你想findall() 返回字符的全部重复设置,使用非捕获组与围绕整个捕获组的两个字母的选项:

r'Some example text: ((?:do|re|me)+)'
python 2022/1/1 18:28:56 有371人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶