189 8069 5689

re正则表达式模块

importre
print(re.match('^chenrong','chenronghua123')) # ^表示开头
#<_sre.SRE_Match object; span=(0, 8), match='chenrong'>
# span=(
匹配到的结果第几位开始,匹配到的长度)
#
有返回表示匹配到了,没返回表示没有匹配到
print(re.match('^chen','chengronghua123').group())#group获取匹配的字段
res=re.match('^chen','chengronghua123')
print(res.group())

res=re.match('^chen\d','chen321ronghua123'# \d表示数字 匹配一个数字
print(res,'--------',res.group())

res=re.match('chen\d+','chen321ronghua123')#\d+表示一个或多个数字 match从头开始
print(res,'--------',res.group())

res=re.match("c.+","chen321ronghua123")# .点表示匹配任意字符
print(res)

res=re.search("r.+a$","chen321ronghua123a")
#search从整个文本搜索  a$表示整个字符串a结尾
print(res)

res=re.search('R[a-zA-Z]+a','chen321RongAhuaRonghua123arongHua12')#只匹配第一个
print(res)

res=re.search("aaa?",'aalexaaa')#a?表示0次或1 都会返回结果 也就是有或没有 有或没有前面的那个a
print(res)

res=re.search("[0-9]{1,3}",'aa1x2a345aa')#{1,3} 表示出现的13
print(res)

res=re.findall("[0-9]{1,3}","aa1x2a345aa")#findall找出所有
print(res)

res=re.findall("abc|ABC","ABCabcCD")# |或的意思
print(res)

res=re.search("(abc){2}(\|=){2}","alexabcabc|=|="# \| 斜杠对 |进行转译
print(res)                 #(abc){2}(\|=){2}分组匹配

res=re.search("\A[0-9]+[a-z]\Z","123a")#\A[0-9]数字开头 [a-z]\Z数字结尾
print(res)# \A开头 \Z结尾

res=re.search("\D+","123$-\r a")#\D匹配非数字
print(res)

res=re.findall("\w","aB123-\r a")#\w匹配数字字母
print(res)

res=re.findall("\W","1ddDFR23$ -\r a")#\W匹配特殊字符
print(res)

res=re.findall("\s","1dd    ng yh\r   ")#\s匹配空白字符 包括空格 tab 换行
print(res)

res=re.search("(?P[0-9]+)(?P[a-zA-Z]+)","abcd1234daf@345").groupdict()
print(res)

#特殊用法 (?P<自定义key>[需要找的]{个数})
res=re.search("(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{4})","371481199306143242").groupdict()
print(res)

print(re.search("(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{2})(?P[0-9]{4})(?P[0-9]{4})", \
"360732199307030689").groupdict()['birthday'])

#split分隔
res=re.split("[0-9]+","abc12de3f45Gh")#按数字进行分隔 split:分隔
print(res)

#sub替换
res=re.sub("[0-9]+","----","abc12de3f45Gh",count=2)#所有的数字替换成----,替换前面2
print(res)

#只能匹配 \\ 2个斜杠
res=re.search(r"\\","abc12de\\3f45GH")
print(res)

#忽略大小写 flags=re.I flags=re.IGNORECASE  flags:标示,标注,定义
res=re.search("[a-z]+","ancdA",flags=re.IGNORECASE)
print(res)

#多行模式 flags=re.Mflags=re.MULTILINE一样 改变开头 ^结尾$的行为
res=re.search("[a-z]+e$","abcdA\rsecondline\r hirdline",flags=re.M)
print(res,'---',res.group())

#S(DOTALL)模式 匹配包括换行符的任意字符 flags=re.DOTALL flags=re.S
res=re.search(r".+","\rabc\reee",flags=re.DOTALL)
print(res)

成都创新互联公司服务紧随时代发展步伐,进行技术革新和技术进步,经过10多年的发展和积累,已经汇集了一批资深网站策划师、设计师、专业的网站实施团队以及高素质售后服务人员,并且完全形成了一套成熟的业务流程,能够完全依照客户要求对网站进行网站制作、网站设计、建设、维护、更新和改版,实现客户网站对外宣传展示的首要目的,并为客户企业品牌互联网化提供全面的解决方案。


网站栏目:re正则表达式模块
文章起源:http://cdxtjz.com/article/peoohc.html

其他资讯