python正则表达式(re)

版权声明:本文为博主原创文章or学习笔记,未经博主允许不得转载。欢迎留言,私信or邮件。 https://blog.csdn.net/HYY0228/article/details/80606868
. 匹配任意的单个字符 ...匹配三个任意字符
^以。。的内容开头搜索
$以。。做结尾 搜索  比如jpg$,以jpg结尾匹
*匹配前面的字符出现0到多次 如ca*t a多次出现
+1-多次
?0-1ci 
{m} 前边的字符要出现指定的次数 或{m,n}
[ ] 内任意字符匹配成功,都算匹配成功[0-9]+ 
| 匹配左边或右边
以上为单个的
p = re.compile("cat")
p.match("afjlkjfacat")
转义符号:
/d 我们匹配的内容是一串数字
/D 匹配不包含数字的 如提取123-456-789
/s 匹配的是一个字符串a-z
( ) 进行分组 功能强大 如(2018)-(03)-(04) group取某部分匹配结果,groups全都取  (03|04)  元组 正则分组功能
 ^$ 表示这一行是空行
.*?不适用贪婪模式 abbccccd 会匹配多个c。ab*d。但是加?后,只匹配一个c
r 前面的标记 不转义


元字符匹配
p = re.compile("cat")
p.match("afjlkjfacat") //一一对应匹配


不一一完全匹配:搜索功能
match-search写法一样,匹配方式不一样。


sub() 字符串替换。跟着三个参数:1 匹配规则,2 替换成的内容 3 将要替换的字符串
实用的例子:
phone = "123-4567-8900 # 这是电话号码"
p = re.sub('#.*$','',phone)
p1=re.sub('\D','',p)


findall() 能匹配多次 
还有更多,请看官方文档

猜你喜欢

转载自blog.csdn.net/HYY0228/article/details/80606868