打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python基础之正则表达式(十三)

分组

可以通过使用圆括号围绕正则表达式的一部分创建组.

这意味着一个组可以作为元字符的参数.如*(重复零次或多次)和?(重复零次或一次)

例如:

可以使用组功能访问匹配组中的内容

可以调用group(0)或者group()返回整个匹配

调用group(n),n要大于0,返回匹配的第n个组

groups()返回所有匹配的分组.

例如:

group(n) n大于分组的数目 会报错

从上面例子可以看出,组是可以嵌套.

有两个特殊的群组,一个是命名组(?P...)一个是非捕获组(?:...)

命名组格式(?P...):其中,name是组的名字,...是组的内容.它们的表现与正常组相同,除了可以通过group(name)代替编号.

非捕获组格式(?:...):它们不能通过组方法访问,所以可以将它们添加到现有的正则表达式中,而不会破坏编号.

例如:

元字符(|):与. red|blue,匹配'red'或者'blue'

例如:

二 特殊序列

在正则表达式中可以使用各种特殊的序列.它们写成反斜杠,然后是一个字符.

一个有用的特殊序列是反斜杠和1到99之间的数字.例如\1或\17,分别指第一组的子表达式,和第17组的子表达式.

例如:

●'(.+)\1'与'(.+)(.+)'不一样,因为\1是指第一组的子表达式,它是匹配的表达式本身.

特殊序列:

\d:匹配数字

\s:匹配空格

\w:匹配单词字符

在ASCII模式下,相当于[0-9][\t \n \r \f \v]和[a-zA-Z0-9_]

在Unicode模式下,它们也匹配某些其他字符.例如,\w匹配带有重音的字母

大写字母--\D,\S,\W 这些特殊序列的版本意味着与小写字母相反的版本.例如

\D匹配任何不是数字的东西 ([^0-9])

例如:

(\D+\d):匹配一个或多个非数字后跟一个数字

关注小编不迷路!下节继续

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java正则表达式——分组与捕获
Python超详细的正则表达式
快速回忆正则表达式
Boost学习指南之:正则表达式
re 正则表达式  #
正则表达式使用及例子
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服