python正则表达式的使用

正则表达式在很多编程语言里面都有出现,在javascript、sql、python……他们中的正则表达式基本大同小异,他的功能说直白一点就是对字符串进行筛选过滤。在python中正则表达式是封装在re模块中的。

re.match函数

语法 : re.match(正则表达式, 进行匹配的字符串, 标志位(可选))

# 实例
import re

li = [
    '13688989897@qq.com','  13688989897','dfg13688989897'
]

for i in li:
    split = re.match('136',i)
    if split:
        print('{0} 截取位置:{1}'.format(i,split.span()))

运行结果:

re.search函数

语法 : re.search(正则表达式, 进行匹配的字符串, 标志位(可选))

# 实例
import re

li = [
    '13688989897@qq.com','  13688989897','dfg13688989897'
]

for i in li:
    split = re.search('136',i)
    if split:
        print('{0} 截取位置:{1}'.format(i,split.span()))

运行结果:

# 实例
import re

strint = 'My major is computer'

s_obj = re.search( r'(.*) major (.*?) .*', strint, re.M|re.I)

print('group:',s_obj.group())
print('group1:',s_obj.group(1))
print('group2:',s_obj.group(2))

运行结果:

检索和替换 

语法: re.sub(正则表达式, 要替换的字符串, 字符串, 替换最大数量(默认所有), 匹配模式)

# 实例
import re

phone = "136-232-666 # 这是一个电话号码"

# 删除注释
num = re.sub(r'#.*$', "", phone)
print("电话号码 : ", num)

# 移除非数字的内容
num = re.sub(r'\D', "", phone)
print("电话号码 : ", num)

运行结果:

 re.findall

语法 : re.findall(正则表达式, 进行匹配的字符串, 标志位(可选))

# 实例
import re

li1 = re.findall(r'\d+', 'number 123 number2 456')

pattern = re.compile(r'\d+')  # 查找数字
li2 = pattern.findall('number 123 google 456')
li3 = pattern.findall('abio1c2b66jklj125', 0, 10)

print(li1)
print(li2)
print(li3)

运行结果:

修饰符

正则表达式实例:

常用正则

 

 打卡46天,对python大数据感兴趣的朋友欢迎一起讨论、交流,请多指教!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值