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

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

优先级顺序从上到下 、从左到右依次降低 运算符 功能
\ 转义符
(), (?:), (?=), [] 括号
*, +, ?, {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')]

流程图如下所示
python正则表达式优先级执行顺序_第1张图片

你可能感兴趣的:(Python)