Python正则表达式 re 用法
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 用法相关推荐
- 【Python】一文读懂Python正则表达式常用用法
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 编辑:爱学AI 来源:geekvi 链接: www.segmentfault.co ...
- python正则表达式group用法_Python 正则表达式中的group参数使用
Python正则表达式re模块中有个group参数,刚开始看的时候没理解,自己摸索了一下,终于知道是啥意思了,记录一下. 先看一下教程中对这个参数的说明: 老实讲,看了这个描述我也没懂是啥意思,于是在 ...
- python正则表达式group用法_【Python】正则表达式用法
导读:正则在各语言中的使用是有差异的,本文以 Python 3 为基础.本文主要讲述的是正则的语法,对于 re 模块不做过多描述,只会对一些特殊地方做提示. 很多人觉得正则很难,在我看来,这些人一定是 ...
- python正则表达式元字符用法_正则表达式-常用元字符的基本使用
常用元字符有:[] ^ $ \ * + ? {} . python中使用正则表达式需要导入re模块 下面介绍用法 [] 指定一个字符集,[ABC]表示ABC的字符集,[^ABC] 取反, ...
- Python正则表达式初识(十)附正则表达式总结
今天分享正则表达式最后一个特殊字符"\d",具体的教程如下. 1.特殊字符"\d"十分常用,其代表的意思是数字.代码演示如下图所示. 其中"+&quo ...
- Python正则表达式集锦
if 你只有5min: 读Python的正则提取技巧 return else: Python正则表达式指南 Python正则表达式的用法 Python正则表达式操作指南 match和search的区别 ...
- python正则表达式实例教程_Python正则表达式经典入门教程
本文实例总结了Python正则表达式基本用法.分享给大家供大家参考,具体如下: 正则表达式在平时做文本处理(爬虫程序去解析html中的字段,在分析log文件的时候需要抓取一些关键数据)的时候经常会用到 ...
- python正则表达式re.sub用法
python正则表达式re.sub用法 https://cloud.tencent.com/developer/article/1382055 python正则表达式re.sub用法 全面的 http ...
- Python正则表达式用法总结
文章目录 写在前面 特殊字符 匹配单字符的字符 表示匹配次数的字符 定界字符 其他常用字符 `Re`库常用函数(方法) `re.compile()`编译正则表达式 `re.match()`匹配字串 ` ...
最新文章
- C++11中std::async的使用
- 敲代码、作诗、写论文无所不能!史上最大AI模型GPT-3强势霸榜Github
- Redis实战(八):面试常问:击穿,穿透,雪崩,分布式锁,API(jedis,luttce,springboot:low/high level)
- while和do-while循环结构
- 【HDU - 5900】QSC and Master(区间dp)
- Linux中main和初启函数,main 中的 argv和argc 到底是个啥意思?
- tomcat绕过同源策略(CORS)--亲测有效
- 关于Windows API、CRT和STL二三事
- 房产中介管理系统搭建
- 最详细教程:Zotero和Better BibTeX安装,以及如何在R markdown中引用文献
- 计算机怎么看显卡内存容量,Win10系统显卡显存大小怎样查看?Win10查看显存大小的两种方法...
- Git 入门最佳实践
- 家用洗地机器人哪个牌子好性价比高?家用洗地机品牌排行榜前十名
- Photoshop 2023 Mac(PS 2023)v24.0.0中英文已发布,新功能详细介绍,支持M1/M2/intel
- Python turtle正方形绘制
- 咪咕盒子MG100,电视机顶盒禁用软件安装软件
- AT2657 [ARC078D] Mole and Abandoned Mine
- 用matlab仿真导航信号,北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)[互联网+]...
- 学校计算机 病毒,关于近日大量学校电脑感染勒索病毒的说明及应对办法
- 网站如何引入外部字体 [可自定义]/个人博客/爱骇客