Python学习16 正则表达式2 re模块
re 模块
re 模块:
Python的 re 模块实现了正则表达式处理的功能。
导入re模块后,使用findall、search函数可以进行匹配
查找:match和search
多个匹配上的,也只会返回第一个匹配上的
re.match():
需要特别注意的是,这个方法并不是完全匹配。它仅仅决定在字符串开始的位置是否匹配。所以当pattern结束时若还有剩余字符,仍然视为成功。想要完全匹配,可以在表达式末尾加上边界匹配符’$’
查找:finditer 和 findall 和 fullmatch
re.finditer()
下标从0开始
re.findall()
o\s+
:匹配o和后面的一个或多个空白字符
re.fullmatch()
h.*d
:h和d之间0或多个除\n之外的任意字符
分组: group()和groupdict()
group()
re.groupdict()
在匹配时使用“?P<>”,获得匹配结果后调用.groupdict()方法,获得字典类型的结果
替换:re.sub()
把字符串里的数字变成两倍:
生成一个正则表达式对象: re.compile()
正则表达式规则
# 1. 数字和字母都表示它本身
print(re.search(r'x', 'hello xyz')) # <re.Match object; span=(6, 7), match='x'>
print(re.search(r'5', '1a3b56c8d')) # <re.Match object; span=(4, 5), match='5'># 2. 很多字母前面添加 \ 会有特殊含义。
print(re.search(r'd', 'good')) # <re.Match object; span=(3, 4), match='d'>
print(re.search(r'\d', 'good')) # None
print(re.search(r'\d', 'go1234od')) # <re.Match object; span=(4, 5), match='1'># 3.大多数标点符号 都有特殊含义。如果想要使用标点符号,需要加 \ 。
print(re.search(r'+', '1+2=3')) # re.error:
print(re.search(r'\+', '1+2=3')) # <re.Match object; span=(1, 2), match='+'>
案例: 判断是否是数字
原始:
正则表达式:
案例:提取字符串中内容
案例:QQ判断
QQ号码
QQ用户名1
QQ用户名2
\w
:匹配字母数字下划线
案例总结
Python学习16 正则表达式2 re模块相关推荐
- Python学习16 正则表达式3 练习题
用户名匹配 1.用户名匹配:由数字.大小写字母.下划线_.中横线-组成,长度为6-12位,不能以数字开头. import re username='ab578_-SDF' result=re.sear ...
- Python学习系列(六)(模块)
Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...
- Python学习笔记:常用内建模块7XML
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用第三方模块3
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用第三方模块(1)
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用内建模块5
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- Python学习笔记:常用内建模块2:collections
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python 学习总结----正则表达式
python 学习总结----正则表达式 正则表达式应用场景- 特定规律字符串的查找,切割,替换 - 邮箱格式:URl,IP地址等的校验 - 爬虫项目中,特定内容的提取使用原则- 只要使用字符串等函数 ...
- python学习笔记 正则表达式 详解2
python学习笔记 正则表达式 详解 行定位符 行定位符就是用来描述子串的边界."^"表示行的开始:"$"表示行的结尾 ^tm:匹配以子串tm的开始位置是行头 ...
最新文章
- linux gcc编译c文件头文件,使用GCC编译器编译C语言
- java jsp学习指南_JSP教程–最终指南
- 增强服务器安全性能,加强Linux服务器安全的20项建议
- Google code android开源项目(五)
- linux文件夹不能修改权限
- matlab 元胞数组合并(fail)
- ugmented reality(AR) equipment
- 论文降重从80%降到1%的方法
- 2022年高压电工模拟考试及高压电工复审模拟考试
- Web页面弹出窗口代码大全
- 基于区块链技术的展望:搭建商业银行供应链管理和供应链金融服务平台
- 如何取消计算机待机时间,如何更改电脑待机时间
- IE浏览器地址栏输入中文乱码问题
- Win10系统CLSID大全
- caffe学习系列:训练自己的图片集(超详细教程)
- python爬虫:批量刷新网页
- (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能
- VC驿站《VC++网络编程班》开课啦!
- 王国栋青岛大学计算机学院,王国栋
- 华南师范大学计算机课网址,华南师范大学网络课程 首页
热门文章
- java方法有excel实现_Java实现EXCEL操作(1)
- 【转】DCMTK 开源库的学习笔记2:直接操作dcm文件中像素数据的尝试
- Sharepoint学习笔记 –架构系列—10 Sharepoint的服务器端对象模型(Server Object Model) 2.内容层次结构
- Linq找不到行或行已更改
- Qt生成的exe中为什么会带有不该有的盾牌?
- 正则表达式:匹配Double类型,整数和小数
- 【JS逆向百例】某音乐网分离式 webpack 非 IIFE 改写实战
- 【HDU - 2639】Bone Collector II (第K大背包,dp,STLset)
- 【数据库实验课堂】实验一:数据库的管理
- 【CodeForces - 122B 】Lucky Substring (字符串,水题)