python中的正则表达式

在python中定义规则(正则表达式),要导入re模块。

import re

match、r和\:

match从头开始匹配
r原生字符串
\转义

一、匹配单个字符

字符功能
.匹配任意一个字符,除\n
[]匹配[]中列举的字符
/d匹配数字0-9
/D匹配非数字 [^0-9]
/w匹配数字(0-9)、字母(a-z和A-Z)、下划线(_)
/W匹配 非 数字(0-9)、字母(a-z和A-Z)、下划线(_) [^\w]
/s匹配空格、tab键
/S匹配非空格、tab键 [^\s]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、匹配多个字符

字符功能
*匹配前一个字符出现无数次或没出现
+匹配前一个字符至少出现1次或无数次
?匹配前一个字符出现1次或0次
{m}匹配前一个字符出现m次
{m,n}匹配前一个字符出现m到n次

三、匹配头和尾

字符功能
^匹配字符串开头,多行匹配每一行开头
$匹配字符串末尾,多行匹配每一行末尾

四、匹配分组

字符功能
|匹配左右任意一个表达式(书写时|左右不留空格)
()将括号中的字符作为一个分组
\num引用分组num匹配字符串
(?P)给分组起别名
(?P=name)引用别名为name分组匹配的规则

五、python中re模块的高级用法

方法功能
search不用从头开始匹配
findall统计满足规则的全部信息------------>返回的是一个列表
sub将匹配到的数据进行替换(数据清洗)

六、贪婪与非贪婪

正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*“如果用于查找"abbbc”,将找到"abbb"。而如果使用非贪婪的数量词"ab*?",将找到"a"。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值