re模块:匹配开头/结尾(^/$) https://blog.csdn.net/chenmozhe22/article/details/80602000

re模块的基础用法 https://blog.csdn.net/chenmozhe22/article/details/80601971

1、需求:匹配163.com的邮箱地址

email_list = ["xiaoWang@163.com", "xiaoWang@163.comheihei", ".com.xiaowang@qq.com"]

for email in email_list:ret = re.match("[\w]{4,20}@163\.com$", email) \.代表只是一个点 $代表以xxx结尾的字符串if ret:print("%s ---是符合规定的邮件地址” % email)else:print("%s ---不符合要求" % email)

结果

xiaoWang@163.com            # ---是符合规定的邮件地址
xiaoWang@163.comheihei      # ---不符合要求   # 如果没有$,这个字符串会匹配出来
.com.xiaowang@qq.com        # ---不符合要求
字符 功能
^ 匹配字符串开头
$ 匹配字符串结尾
| 匹配左右任意一个表达式
(ab) 将括号中字符作为一个分组
\num 引用分组num匹配到的字符串
(?P<name>) 分组起别名
(?P=name) 引用别名为name分组匹配到的字符串
[\u4e00-\u9fa5] //匹配中文字符^[1-9]\d*$    //匹配正整数
^[A-Za-z]+$   //匹配由26个英文字母组成的字符串
^[A-Z]+$      //匹配由26个英文字母的大写组成的字符串
^[a-z]+$      //匹配由26个英文字母的小写组成的字符串^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 

2、需求:不是以4、7结尾的手机号码(11位)

import re
tels = ["13100001234", "18912344321", "10086", "18800007777"]for tel in tels:ret = re.match("1\d{9}[0-3,5-6,8-9]", tel)if ret:print(ret.group())else:print("%s 不是想要的手机号" % tel)

结果

13100001234 不是想要的手机号
18912344321
10086 不是想要的手机号
18800007777 不是想要的手机号

3、需求:匹配出163、126、qq邮箱

#coding=utf-8import reret = re.match("\w{4,20}@163\.com", "test@163.com”)
print(ret.group())
# 结果: test@163.com
ret = re.match("\w{4,20}@(163|126|qq)\.com", "test@gmail.com")
if ret:print(ret.group())
else:print("不是163、126、qq邮箱")
# 结果: 不是163、126、qq邮箱

4、需求:提取区号和电话号码

import reret = re.match("([^-]*)-(\d+)", "010-12345678")print(ret.group())
print(ret.group(1))
print(ret.group(2))

结果如下:

010-12345678
010
12345678
^在[ ]里面代表非的含义:
例如:
[^-]*   *代表前所有字符0个或者多个,非-的字符串[^abc]  代表非a、且非b 、且非c的字符1、正则表达式中,\d 匹配一个数字字符。等价于 [0-9]。2、相反地,正则表达式中,\D 匹配一个非数字字符。等价于 [^0-9]。

5、需求:匹配出0-100之间的数字

import reret = re.match("[1-9]?\d","8”) # ?匹配前面的字符出现1次或者0次 类似78也可以匹配
print(ret.group())  # 结果:8ret = re.match("[1-9]?\d$|100","78")
print(ret.group())                          # 结果: 78ret = re.match("[1-9]?\d$|100","100")
print(ret.group())                         # 结果: 100
\w 匹配字母或数字或下划线或汉字(具体与字符集有关),^\w 表示相反匹配。import re
s = "string. With. Punctuation?"
# 如果空白符也需要过滤,使用 r'[^\w]'
s = re.sub(r'[^\w\s]','',s)

re.split

s = "标准黑 标准白 油黄色,珍珠白油黄色,标准黑-1;等,红芽粉-7,深鸢尾蓝,如图"
color_list = re.split("[,, ]", s)
color_list['标准黑', '标准白', '油黄色', '珍珠白油黄色', '标准黑-1;等', '红芽粉-7', '深鸢尾蓝', '如图']

Python正则表达式 re 用法相关推荐

  1. 【Python】一文读懂Python正则表达式常用用法

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 编辑:爱学AI 来源:geekvi   链接: www.segmentfault.co ...

  2. python正则表达式group用法_Python 正则表达式中的group参数使用

    Python正则表达式re模块中有个group参数,刚开始看的时候没理解,自己摸索了一下,终于知道是啥意思了,记录一下. 先看一下教程中对这个参数的说明: 老实讲,看了这个描述我也没懂是啥意思,于是在 ...

  3. python正则表达式group用法_【Python】正则表达式用法

    导读:正则在各语言中的使用是有差异的,本文以 Python 3 为基础.本文主要讲述的是正则的语法,对于 re 模块不做过多描述,只会对一些特殊地方做提示. 很多人觉得正则很难,在我看来,这些人一定是 ...

  4. python正则表达式元字符用法_正则表达式-常用元字符的基本使用

    常用元字符有:[]  ^  $  \  *  +  ?  {} . python中使用正则表达式需要导入re模块 下面介绍用法 [] 指定一个字符集,[ABC]表示ABC的字符集,[^ABC] 取反, ...

  5. Python正则表达式初识(十)附正则表达式总结

    今天分享正则表达式最后一个特殊字符"\d",具体的教程如下. 1.特殊字符"\d"十分常用,其代表的意思是数字.代码演示如下图所示. 其中"+&quo ...

  6. Python正则表达式集锦

    if 你只有5min: 读Python的正则提取技巧 return else: Python正则表达式指南 Python正则表达式的用法 Python正则表达式操作指南 match和search的区别 ...

  7. python正则表达式实例教程_Python正则表达式经典入门教程

    本文实例总结了Python正则表达式基本用法.分享给大家供大家参考,具体如下: 正则表达式在平时做文本处理(爬虫程序去解析html中的字段,在分析log文件的时候需要抓取一些关键数据)的时候经常会用到 ...

  8. python正则表达式re.sub用法

    python正则表达式re.sub用法 https://cloud.tencent.com/developer/article/1382055 python正则表达式re.sub用法 全面的 http ...

  9. Python正则表达式用法总结

    文章目录 写在前面 特殊字符 匹配单字符的字符 表示匹配次数的字符 定界字符 其他常用字符 `Re`库常用函数(方法) `re.compile()`编译正则表达式 `re.match()`匹配字串 ` ...

最新文章

  1. C++11中std::async的使用
  2. 敲代码、作诗、写论文无所不能!史上最大AI模型GPT-3强势霸榜Github
  3. Redis实战(八):面试常问:击穿,穿透,雪崩,分布式锁,API(jedis,luttce,springboot:low/high level)
  4. while和do-while循环结构
  5. 【HDU - 5900】QSC and Master(区间dp)
  6. Linux中main和初启函数,main 中的 argv和argc 到底是个啥意思?
  7. tomcat绕过同源策略(CORS)--亲测有效
  8. 关于Windows API、CRT和STL二三事
  9. 房产中介管理系统搭建
  10. 最详细教程:Zotero和Better BibTeX安装,以及如何在R markdown中引用文献
  11. 计算机怎么看显卡内存容量,Win10系统显卡显存大小怎样查看?Win10查看显存大小的两种方法...
  12. Git 入门最佳实践
  13. 家用洗地机器人哪个牌子好性价比高?家用洗地机品牌排行榜前十名
  14. Photoshop 2023 Mac(PS 2023)v24.0.0中英文已发布,新功能详细介绍,支持M1/M2/intel
  15. Python turtle正方形绘制
  16. 咪咕盒子MG100,电视机顶盒禁用软件安装软件
  17. AT2657 [ARC078D] Mole and Abandoned Mine
  18. 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]...
  19. 学校计算机 病毒,关于近日大量学校电脑感染勒索病毒的说明及应对办法
  20. 网站如何引入外部字体 [可自定义]/个人博客/爱骇客

热门文章

  1. 查看Ubuntu版本信息
  2. 火锅店连锁企业使用哪款生鲜管理系统软件比较好呢?
  3. 搜索引擎-应用篇(suggest search)
  4. Android 8.0 App内切换语言不生效的问题记录
  5. C++缺省参数的具体使用
  6. Win系统中的关机、睡眠、休眠状态理解
  7. day54 css页面布局
  8. Linux Command dnf 软件包管理
  9. 雷达线性调频matlab,线性调频脉冲雷达信号matlab仿真.pdf
  10. Java语言学习--Swing中Button事件监听