第11.26节 Python正则表达式运算符优先级

2023-05-26,,

正则表达式从左到右进行计算,并遵循优先级顺序,相关运算符的优先级顺序按下表从高到低排列。

例如:字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。

注意:重复修饰符 :, +, ?, {m,n} 等优先级相同, 不能直接嵌套。这样避免了非贪婪后缀 ? 修饰符,和其他实现中的修饰符产生多义性。要应用一个内层重复嵌套,可以使用括号。 比如,表达式 (?:a{6}) 匹配6个 ‘a’ 字符重复任意次数。

关于正则表达式运算符优先级的案例请参考《Python正则表达式re.findall(’(.)’,“abc”)、re.findall(’(.)’,“abc”)、re.findall(’(.?)*’,“abc”)的执行结果为什么不同?》,正是由于该文的问题老猿才发现了正则表达式的运算符优先级。

老猿Python,跟老猿学Python!

博客地址:https://blog.csdn.net/LaoYuanPython

请大家多多支持,点赞、评论和加关注!谢谢!

第11.26节 Python正则表达式运算符优先级的相关教程结束。

《第11.26节 Python正则表达式运算符优先级.doc》

下载本文的Word格式文档,以方便收藏与打印。