Python 正则表达式

1. re.match(pattern,string,flags = 0)
match方法,尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,返回none
pattern --> 匹配的正则表达式
string  --> 要匹配的字符串
flags   --> 标志位,用于控制正则表达式的匹配方式,可以匹配的值有:
    re.I  不区分大小写
    re.L  本地化搜索
    re.M  多行匹配,影响^和$
    re.S  是匹配包括换行符在内的所有字符
    re.U  根据Unicode字符集解析字符,影响 \W \w \b \B
    re.X  使我们以更灵活的格式理解正则表达式


2. re.search(pattern,string,flags = 0)
search方法,扫描整个字符串,并返回第一个成功的匹配
pattern  --> 匹配的正则表达式
string   --> 要匹配的字符串
flags    --> 标志位,用于控制正则表达式的匹配方式


3. re.findall(pattern,string,flage = 0)
findall方法,扫描整个字符串,并返回匹配成功列表
pattern  --> 匹配的正则表达式
string   --> 要匹配的字符串
flags    --> 标志位,用于控制正则表达式的匹配方式


4.匹配单个字符与数字
. 匹配除换行外的其他所有字符
[1234567890] 匹配所有数字,又不确定是数字的时候可以使用
[] 匹配括号中的字符,例如[sunck] 匹配"s"或"u"或"n"或"c"或"k"
[a-z] 匹配任意小写字母
[A-Z] 匹配任意大写字母
[0-9] 匹配任意数字,效果同[1234567890]
[0-9a-zA-Z] 匹配任意大写,小写,数字
[0-9a-zA-Z_] 匹配任意大写,小写,数字以及下划线
[^sunck] 匹配除了sunck以外的字符,^称为脱字符,表示不匹配集合中的字符
[^0-9] 匹配非数字以外的所以字符
\d 匹配任意数字,效果同[0-9]
\D 匹配非数字字符,效果同[^0-9]
\w 匹配数字,字母,效果同[0-9a-zA-Z]
\W 匹配非数字,字母,效果同[^0-9a-zA-Z]
\s 匹配任意空白符(空格,换行,回车,换页,制表),效果同[ \f\n\r\t]
\S 匹配任意的非空白符,效果同[^ \f\n\r\t]


5.锚字符
^  行首匹配,效果与[]中不同
$  行尾匹配
\A  从字符串的开始匹配,和^的区别是:\A只匹配整个字符串的开头,即使是在re.M模式下,也只匹配字符串的开头
\Z  从字符串的末尾开始匹配,和$的区别是:\Z只匹配整个字符串的末尾,即使是在re.M模式下,也只匹配字符串的末尾
\b  匹配一个字符串的边界,也就是空格和单词的位置
\B  匹配非单词边界


6.匹配多个字符串
说明:一下例子中,x,y,z 均为假设的普通字符,n,m为非负整数

x? 匹配0个或者1个x
x* 匹配0个或者任意多个x(.* 匹配0个或者任意多个字符(换行符\n除外))
x+ 匹配至少一个x
x{n} 匹配确定的n个x
x{n,} 匹配至少n个x
x{n,m} 匹配至少n个x,最多m个x
x|y 匹配x或者y


7.特殊情况
*? +? x? 最小匹配  通常都是尽可能多的匹配,可以使用这种方式解决贪婪匹配












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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值