正则表达式基础字符含义集合

. 匹配除换行符以外的任意字符
[0123456789] []是字符集合,表示匹配方括号中所包含的任意一个字符
[good] 匹配good中任意一个字符
[a-z] 匹配任意小写字母
[A-Z] 匹配任意大写字母
[0-9] 匹配任意数字
[0-9a-zA-Z] 匹配任意的数字和字母
[0-9a-zA-Z_]匹配任意的数字,字母以及下划线
[^good] 匹配除了good这几个字母以外的所有字符,中括号里的^称为脱字符,表示不匹配集合中的字符
[^0-9] 匹配所有的非数字字符
\d 匹配数字,效果同[0-9]
\D 匹配非数字字符,效果同[^0-9]
\w 匹配数字,字母和下划线,效果同[0-9a-zA-Z_]
\W 匹配非数字,字母和下划线,效果同[^0-9a-zA-Z_]
\s 匹配任意的空白符(空格、回车、换行、制表、换页),效果同[ \r\n\t\f]
\S 匹配任意的非空白符,效果同[^ \f\n\r\t]

^ 首行匹配,和在[]里的^不是一个意思
$ 行尾匹配
\A 匹配字符串开始,它和^的区别是,\A只匹配整个字符串的开头,即使在re.M模式下也不会匹配它行的行首
\Z 匹配字符串结束,它和$的区别是,\Z只匹配整个字符串的结束,即使在re.M模式下也会匹配它行的行尾
\b 匹配一个单词的边界,也就是指单词和空格的位置
'er\b’可以匹配never,不能匹配nerve
\B 匹配非单词边界

说明:下方的x,y均为假设的普通字符,n,m(非负整数),不是正则表达式的元字符
(xyz) 匹配小括号内的xyz(作为一个整体去匹配)
x? 匹配0个或者1个x
x* 匹配0个或者任意多个x(.*表示匹配0个或者任意多个字符(换行符除外))
x+ 匹配至少一个x
x{n} 匹配确定的n个x(n是一个非负整数)
x{n,} 匹配至少n个x
x{n,m} 匹配至少n个最多m个x,注意n<=m
x|y |表示或,匹配的是x或y

eg:网页截取信息

s1 = <span>


碧儿是我前女友,虽然她一直不承认。<br>那次跟碧儿河边初见,已势成水火,她说她被狗围了半小时狗才散去。每次我站在教室走廊看风景,总会感觉被一股无形的力量揪住了脖子。<br>刚好我们那届男生多,女生少,学校将女生宿舍一二三楼的三分之一用隔板挡开,楼梯口铁门焊死,当成男生宿舍用。<br>大学宿舍管理很严,到点必关门,晚上学生会还要查宿舍,不在者扣学分。<br>这难不倒想出去上网的我,我网购了一根登山绳,周末无事带到河边一小断崖练习速降。<br>练了半个月,我感觉状态良好,可以牛刀小试。<br>把登山绳往铁架床上一捆,推开铝合金窗我就

</span>
list1 = re.findall(r"<span>\s+(.*?)\s+</span>", s1)

修饰符 描述

re.I 使匹配对大小写不敏感

re.L 做本地化识别(locale-aware)匹配

re.M 多行匹配,影响 ^ 和 $

re.S 使 . 匹配包括换行在内的所有字符

re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.

re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

re模块中常用的功能函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值