Python正则表达式

什么是正则


正则是一种对字符串进行特定匹配的模式
正则表达式使用单个字符串组合来描述和匹配一系列符合某个句法规则的字符串

简单理解,就是对字符串的检索匹配和处理

Python通过re模块提供对正则表达式的支持


  1. 先将正则表达式的字符串形式编译为Pattern实例;
  2. 使用Pattern实例处理文本并获得匹配结果;
  3. 使用实例获得信息,进行其他的操作
常用的元字符
代码说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束
[]匹配字符集[a-z]、[abc],元字符在字符集中不起作用
常用的限定符
代码/语法说明
*重复零次或更多
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
分枝条件 |
常用的反义代码
代码/语法说明
\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符
分组 ()
后向引用 \1 \2

Python re对象

import re

方法/属性作用
match(pattern, string, flags=0)RE是否在字符串刚开始的位置匹配
search(pattern, string, flags=0)扫描字符串,找到这个RE匹配的位置
findall(pattern, string, flags=0)找到RE匹配的所有子串,并把它们做一个列表返回
finditer(pattern, string, flags=0)找到RE匹配的所有子串,并把它们做一个迭代器返回,next()获得元素
sub(pattern, repl, string, count=0, flags=0)找到RE匹配的所有子串,并把它们做一个替换
subn(pattern, repl, string, count=0, flags=0)找到RE匹配的所有子串,并把它们做一个替换并返回总替换多少次
split(pattern, string, maxsplit=0, flags=0)找到RE匹配切割符,对匹配的数据进行切割

如果没有匹配到的话,match() 和 search()将返回None
如果成功的话,就会返回一个’MatchObject’实例

MatchObject实例的方法/属性
方法/属性说明
group()返回被RE匹配的字符串
start()返回匹配开始的位置
end()返回匹配结束的位置
span()返回一个元祖包含匹配(开始,结束)
预编译表达式 re.compile(pattern, flags=0)
  1. 编译正则表达式,如果正则表达式的字符串本身不合法,会报错
  2. 用编译后的正则表达式去匹配字符串。

编译一个正则表达式,返回一个 pattern 对象,由于该对象已经包含了正则表达式,所以调用方法时不用再给出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值