【Python-正则表达式】

Python-正则表达式

  • [■ 基础匹配](#■ 基础匹配)
    • [■ match 从头匹配](#■ match 从头匹配)
    • [■ search 搜索匹配](#■ search 搜索匹配)
    • [■ findall 搜索全部匹配](#■ findall 搜索全部匹配)
    • [■ 综合](#■ 综合)
  • [■ 元字符匹配](#■ 元字符匹配)
    • [■ r'b-eF-Z3-9' r表示意思](#■ r'[b-eF-Z3-9]' r表示意思)
    • [■ 正则表达式使用元字符进行匹配](#■ 正则表达式使用元字符进行匹配)
    • [■ 匹配账号,只能由字母和数字组成,长度限制6到10位](#■ 匹配账号,只能由字母和数字组成,长度限制6到10位)
    • [■ 匹配QQ号,要求纯数字,长度5-11,第一位不为0](#■ 匹配QQ号,要求纯数字,长度5-11,第一位不为0)
    • [■ 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址](#■ 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址)
    • [■ 综合](#■ 综合)

■ 基础匹配

■ match 从头匹配

python 复制代码
import re
s = "1python itheima python python"
# match 从头匹配
result = re.match("python", s)
print(result)
python 复制代码
import re
s = "1python itheima python python"
# search 搜索匹配
result = re.search("python2", s)
print(result)

■ findall 搜索全部匹配

python 复制代码
import re
s = "1python itheima python python"
# findall 搜索全部匹配
result = re.findall("python", s)
print(result)

■ 综合

python 复制代码
"""
演示Python正则表达式re模块的3个基础匹配方法
"""
import re

s = "1python itheima python python"
# match 从头匹配
result = re.match("python", s)
print(result)
# print(result.span())
# print(result.group())
# search 搜索匹配

result = re.search("python2", s)
print(result)
# findall 搜索全部匹配
result = re.findall("python", s)
print(result)

■ 元字符匹配

■ r'b-eF-Z3-9' r表示意思

字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思

■ 正则表达式使用元字符进行匹配

python 复制代码
"""
演示Python正则表达式使用元字符进行匹配
"""
import re
# s = "itheima1 @@python2 !!666 ##itccast3"
#
# result = re.findall(r'[b-eF-Z3-9]', s)   # 字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思
# print(result)

■ 匹配账号,只能由字母和数字组成,长度限制6到10位

python 复制代码
# r = '^[0-9a-zA-Z]{6,10}$'
# s = '123456_'
# print(re.findall(r, s))

■ 匹配QQ号,要求纯数字,长度5-11,第一位不为0

python 复制代码
r = '^[1-9][0-9]{4,10}$'
s = '123453678'
print(re.findall(r, s))

■ 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址

python 复制代码
# abc.efg.daw@qq.com.cn.eu.qq.aa.cc
# abc@qq.com
# {内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}@{内容}.{内容}.{内容}
r = r'(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)'
# s = 'a.b.c.d.e.f.g@qq.com.a.z.c.d.e'
s = 'a.b.c.d.e.f.g@126.com.a.z.c.d.e'
print(re.match(r, s))

■ 综合

python 复制代码
"""
演示Python正则表达式使用元字符进行匹配
"""
import re

# s = "itheima1 @@python2 !!666 ##itccast3"
#
# result = re.findall(r'[b-eF-Z3-9]', s)   # 字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思
# print(result)

# 匹配账号,只能由字母和数字组成,长度限制6到10位
# r = '^[0-9a-zA-Z]{6,10}$'
# s = '123456_'
# print(re.findall(r, s))

# 匹配QQ号,要求纯数字,长度5-11,第一位不为0
# r = '^[1-9][0-9]{4,10}$'
# s = '123453678'
# print(re.findall(r, s))

# 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址
# abc.efg.daw@qq.com.cn.eu.qq.aa.cc
# abc@qq.com
# {内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}@{内容}.{内容}.{内容}
r = r'(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)'
# s = 'a.b.c.d.e.f.g@qq.com.a.z.c.d.e'
s = 'a.b.c.d.e.f.g@126.com.a.z.c.d.e'
print(re.match(r, s))
相关推荐
lzqrzpt7 小时前
临沂LED驱动电源工程选型与直销工厂评估标准解析
python·单片机·嵌入式硬件
老郑聊AI业财智造7 小时前
给大模型装上“金融之眼”:Kronos-Report的量化预测架构与技术全景剖析
人工智能·python·深度学习·语言模型·金融·架构·软件工程
deli0070078 小时前
正则表达式可视化测试工具:输入即匹配,高亮一目了然
git·测试工具·正则表达式
问天_观心8 小时前
深入学习Transformer(一)
人工智能·python·深度学习·神经网络·学习·transformer
雷帝木木8 小时前
DVC数据版本控制实战:让训练数据像代码一样可追溯
人工智能·python·深度学习·机器学习
月光船幽幽8 小时前
五层探针的哲学跃迁
人工智能·python
阿图灵8 小时前
OpenCV 轮廓与属性:查找轮廓、面积周长、形状拟合与点测试
图像处理·人工智能·python·opencv·计算机视觉·轮廓
asdzx678 小时前
使用 Python 为 Excel 添加各类数据验证规则
开发语言·python·excel
李可以量化8 小时前
Redis Client 从了解到精通(二)上:redis-py 高级用法与核心命令实战
前端·数据库·redis·python·缓存·ptrade
2601_966949658 小时前
如何利用 1 分钟 K 线在 14:50 精准捕捉尾盘异动?Python 量化实战:1 分钟 K 线 + 全市场扫描
开发语言·人工智能·python·量化·quantdash·量化数据源