Python3学习—正则表达式

主要介绍在Python中正则表达式的写法,主要利用Python的re库,其常用方法有:

match()

常用的匹配方法,向它传入要匹配的字符串以及正则表达式,match()会尝试从字符串的起始位置匹配正则表达式,如果匹配,就返回匹配成功的结果,如果不匹配,就返回None

import re
content='Hello 123 4567 World_This is a Regex Demo'
print(len(content))
result=re.match('^Hello\s\d\d\d\s\d{4}\s\w{10}',content)
print(result)
print(result.group())
print(result.span())

匹配目标

import re
content='Hello 1234567 World_This is a Regex Demo'
result=re.match('^Hello\s(\d+)\s\World',content)
print(result)
print(result.group())
print(result.group(1))
print(result.span())

通用匹配
.可以匹配除换行符外的任意字符
*代表匹配前面的字符无限次

import re
content='Hello 1234567 World_This is a Regex Demo'
result=re.match('^Hello.*Demo$',content)
print(result)
print(result.group())
print(result.span())

结果可以输出完整字符串
贪婪匹配和非贪婪匹配
贪婪匹配模式下 .会匹配尽可能多的字符,在后面添加一个?转换为非贪婪模式,非贪婪模式就是尽可能匹配少的字符,字符串中间的匹配尽量用非贪婪匹配。字符串结尾使用贪婪匹配。
修饰符
result=re.match(’^Hello.
?(\d+)Demo$’,content,re.S)

search()

相比于match()方法,search()方法不考虑开头的内容,它会在匹配时扫描整个字符串,返回第一个成功匹配的结果,为了匹配方便,我们可以尽量使用search()方法

findall()

获取匹配正则表达式的所有内容,会搜索整个字符串,然后返回匹配正则表达式的所有内容,返回的是元组类型

sub()

字符串替换

import re
content='2ishfkd29eisjd'zzzzzzzzzzzzz
content=re.sub('\d+','',content)
print(content)

compile()

将正则字符串编译成正则表达式对象,以便在后面的匹配中复用

import re
content1='2018-11-23 12:00'
content2='2018-11-11 14:00'
content3='2018-11-05 17:00'
pattern=re.compile('\d{2}:\d{2}')
result1=re.sub(pattern,'',content1)
result2=re.sub(pattern,'',content2)
result3=re.sub(pattern,'',content3)
print(result1,result2,result3)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值