正则表达式

常用的元字符:
. ,\w,\s,\d,\D,\b,^, , ∗ , + , ? , n , n , , n , m , [ ] ∗ : 从 … … 开 始 ∗ ,*,+,?,{n},{n,},{n,m},[] *^:从……开始 * ,,+,?,n,n,,n,m,[]::从……结尾
.:匹配任何一个字符
[]:匹配[]里面列举的字符,只匹配一位
\w:匹配单词字符 a-z A-Z 0-9 _
\s:匹配空白
\d:匹配数字 0-9
{n}:匹配个数
\W:匹配非单词字符
*:匹配0次或多次
{}:指定匹配次数
?:匹配0次或1次
+:匹配1次或多次

使用:
匹配数字(单个)用\d

import re
st_new='123asd'
ret1=re.match('\d',st_new)
print(ret1.group())

非数字字符 \D

import re
str_new='a123asd'
ret2=re.match('\d',str_new)
print(ret2.group())

.匹配 只要是字符,就可以匹配

import re
ret3=re.match('t.w','t2w13')
print(ret3.group())

匹配指定个数字符

import re
ret4=re.match('t.{n}w','t2222w13')
print(ret4.group())

[]匹配,只匹配一位

import re
ret5=re.match('[asd]','asd')
print(ret5.group())

*匹配,匹配多位

import re
ret6=re.match('[asd]*','aaqwe')
print(ret6.group())
import re
ret7=re.match('[asd]{3}','aaaqwe')
print(ret7.group())

\s 匹配空格,匹配任何不可见字符 [\t\n\r\f]等同

import re
ret8=re.match('name\s1','name\t1')
print(ret8.group())

\w包括汉字

import re
ret9=re.match('[a-zA-Z0-9_]','az1_')
print(ret9.group())
import re
ret10=re.match('\w','哈哈')
print(ret10.group())

*与+匹配

import re
ret11=re.match('ra[b]*','rabbit')
ret12=re.match('ra[b]+','rabbit')
print(ret11.group())
print(ret12.group())

*?匹配

import re
ret13=re.match('http[s]?','http')
ret14=re.match('http[s]?','https')
print(ret13.group())
print(ret14.group())

{}匹配具体的位数 匹配区间位数{1,6} 匹配至少位数{6,}(至少有6位)

import re
ret15=re.match('h[t]{6}','htttttttttps')
print(ret15.group())

贪婪匹配,尽可能多的匹配
非贪婪匹配{}+?

^匹配字符串以XXXX开始

import re
ret16=re.match('^[0-9].*','hello python')#报错
ret17=re.search('^[0-9].*','1hello world 1python')
print(ret16.group())
print(ret17.group())

search:匹配整个字符串,直到找到一个匹配

import re
ret18=re.search('^[0-9].*','1hello world 1python')
print(ret18.group())

$匹配字符串以X结尾 必须是以X结尾,否则报错

import re
ret19=re.search('1[345789][0-9]{8}9$','13546824862')#报错
ret20=re.search('1[345789][0-9]{8}9$','13546824869')
print(ret19.group())
print(ret20.group())

以1开头,9结尾的电话实例

import re
ret21=re.search('^1[345789][0-9]{8}9$','13546824862')#报错
ret22=re.search('^1[345789][0-9]{8}9$','13546824869')
print(ret21.group())
print(ret22.group())

匹配字符串除 除4以外都可以,如果是4则报错

import re
ret23=re.search('^1[345789][0-9]{8}[^4]','13546824862')#报错
ret24=re.search('^1[345789][0-9]{8}[^4]','13546824864')
print(ret23.group())
print(ret24.group())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值