【Python-正则表达式】

■ 基础匹配

■ match 从头匹配

import re
s = "1python itheima python python"
# match 从头匹配
result = re.match("python", s)
print(result)

■ search 搜索匹配

import re
s = "1python itheima python python"
# search 搜索匹配
result = re.search("python2", s)
print(result)

■ findall 搜索全部匹配

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

■ 综合

"""
演示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正则表达式使用元字符进行匹配
"""
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))

■ 综合

"""
演示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))

相关推荐

  1. Python表达式

    2024-04-23 08:26:04       48 阅读
  2. Python 表达式

    2024-04-23 08:26:04       40 阅读
  3. python表达式

    2024-04-23 08:26:04       41 阅读
  4. Python表达式

    2024-04-23 08:26:04       30 阅读
  5. Python-表达式

    2024-04-23 08:26:04       30 阅读
  6. python 表达式

    2024-04-23 08:26:04       26 阅读
  7. python 表达式

    2024-04-23 08:26:04       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 08:26:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 08:26:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 08:26:04       82 阅读
  4. Python语言-面向对象

    2024-04-23 08:26:04       91 阅读

热门阅读

  1. tomcat更换应用目录

    2024-04-23 08:26:04       32 阅读
  2. 浅谈架构方法之时间片轮询

    2024-04-23 08:26:04       32 阅读
  3. openGauss概述

    2024-04-23 08:26:04       37 阅读
  4. 【重学C语言】九、函数

    2024-04-23 08:26:04       38 阅读
  5. internet.getUserEncryptKey提示错误

    2024-04-23 08:26:04       28 阅读
  6. 从零开始:UniApp 项目搭建指南

    2024-04-23 08:26:04       38 阅读
  7. uniapp picker组件实现二级联动

    2024-04-23 08:26:04       31 阅读
  8. Linux搭建NFS服务器

    2024-04-23 08:26:04       36 阅读
  9. 特殊类的设计、C++四种类型转换

    2024-04-23 08:26:04       42 阅读
  10. 2024系统架构师---论软件系统架构评估

    2024-04-23 08:26:04       37 阅读
  11. 狠不狠?做个标签累不累?

    2024-04-23 08:26:04       33 阅读
  12. wow-socket文件说明

    2024-04-23 08:26:04       29 阅读