您的位置:首页 > 编程语言 > Python开发

【转】python正则表达式优先级执行顺序

2019-09-02 17:46 525 查看
原文链接:https://www.geek-share.com/detail/2753259437.html 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。



正则表达式计算方式和我们从小学习的算数运算一样,有优先级的概念,如果不知道优先级顺序,很可能出现不是想要的匹配结果,掌握优先级顺序能够避免不必要的错误发生,下面将介绍正则表达式中的优先级顺序:

优先级顺序从上到下 、从左到右依次降低 运算符 功能
\ 转义符
(), (?:), (?=), [] 括号
*, +, ?, {n}, {n,}, {n, m} 限定符
^, $,\任意元字符 如:\d, \s, \w 定位, 序列
| 或运算
import re

s = 'abc1234Abc123DEF323345Abc1223'
re.findall(r'([aA]bc|DEF)(\d+)', s)

# 返回结果如下
[('abc', '1234'), ('Abc', '123'), ('DEF', '323345'), ('Abc', '1223')]

流程图如下所示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: