PYthon正则表达式的模式

本文详细介绍了Python正则表达式的模式定义和使用,包括固定字符串、字符类别、重复字符、组合模式等多个实例,以及编写正则表达式的步骤。通过实例展示了如何查找和匹配不同类型的字符串,如手机号码、座机号码等,并提供了正则表达式常用功能的Cheatsheet。
摘要由CSDN通过智能技术生成

定义

正则表达式(Regular Expression)是一种用来描述文本模式的工具

  • 用于字符串的搜索、匹配、替换和提取等操作。
  • 是由普通字符(例如字母、数字、标点符号等)和特殊字符(元字符)组成的字符串
  • 通过字符的组合构建出复杂的匹配规则

模式

正则表达式就是为了找到符合某种模式的字符串,这些模式包括:是什么字符重复多少次在什么位置有哪些额外的约束

例1 - 固定的字符串

要求:确定字符串中是否有123456

import re    # 引入正则表达式模块re
text = '身高:178,体重:168,学号:123456,密码:9527'
print(re.findall(r'123456', text))    
# 使用re的findall()方法找到所有符合模式的字符串,这里的模式就是123456
# 也就是说找到字符串中所有的123456。

# 结果:['123456']

固定的字符串匹配,可以用传统的字符串匹配解决,比如用in运算符,也可以使用index函数

例2 - 某一类字符

要求:找出所有的单个的数字

import re
text = '身高:178,体重:168,学号:123456,密码:9527'
print(re.findall(r'\d', text))
# 表达式\d表示所有的数字,所以1,7,8,1,6,8等都可以匹配到
# 结果:['1', '7', '8', '1', '6', '8', '1', '2', '3', '4', '5', '6', '9', '5', '2', '7']

例3 - 重复某一类字符

要求:找所有的数字,比如178,168,123456,9527等。

text = '身高:178,体重:168,学号:123456,密码:9527'
print(re.findall(r'\d+', text))
# 这个模式\d+在\d的后面增加了+号,表示数字可以出现1到多次
# 结果:['178', '168', '123456', '9527']

例4 - 组合

要求:找出座机号码

text = 'A电话是18812345678,他还有一个电话号码是18887654321,他爱好的数字是01234567891,他的座机是:0571-52152166'
print(re.findall(r'\d{4}-\d{8}', text))
# \d{4}-\d{8}这是一个组合的模式,表示前面4个数字,中间一个横杠,后面8个数字
# 结果:['0571-52152166']

例5 - 多种情况<

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值