Python-模块-re

re模块的定义

re模块是借助于正则对字符串进行匹配操作的python内置模块。

re模块的方法

方法作用
compile(pattern, flags=0)根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
match(pattern, string, flags=0)尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
search(pattern, string, flags=0)扫描整个字符串并返回第一个成功的匹配。
findall(pattern, string, flags=0)在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
sub(pattern, repl, string, count=0, flags=0)在string中将匹配到的元素替换为repl并返回
split(pattern, string, maxsplit=0, flags=0)在按照能够匹配的子串将字符串分割后返回列表

正则语法

元字符匹配内容
.匹配除换行符以外的任意字符
^匹配字符串的开始
$匹配字符串的结尾
\A匹配字符串开始,等价于^
\Z匹配字符串的结尾,等价于$
\w匹配字母或数字或下划线
\W匹配非字母数字及下划线
\s匹配任意空白字符,等价于 [ \t\n\r\f]
\S匹配任意非空字符
\d匹配任意数字,等价于 [0-9]
\D匹配任意非数字
\n匹配一个换行符
\t匹配一个制表符
[…]用来表示一组字符,单独列出:[amk] 匹配 ‘a’,‘m’或’k’
[^…]不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。
[a-zA-Z0-9]匹配任意字母及数字
a | b匹配a或b
量词用法说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

re模块实例

匹配特定长度的数字

res = re.search("\d{3}","12ab345cde")
#在字符串中匹配长度为3的纯数字
res.group()
'345'

re模块高阶

’(?P…)’ 分组匹配

res = re.search("(?P<province>\d{3})(?P<city>\d{3})(?P<born_year>\d{4})","110221198902322232")
res.groupdict()
{'province': '110', 'city': '221', 'born_year': '1989'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值