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模块相关推荐

  1. Python学习16 正则表达式3 练习题

    用户名匹配 1.用户名匹配:由数字.大小写字母.下划线_.中横线-组成,长度为6-12位,不能以数字开头. import re username='ab578_-SDF' result=re.sear ...

  2. Python学习系列(六)(模块)

    Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...

  3. Python学习笔记:常用内建模块7XML

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. Python学习笔记:常用第三方模块3

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  5. Python学习笔记:常用第三方模块(1)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  6. Python学习笔记:常用内建模块5

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  7. Python学习笔记:常用内建模块2:collections

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  8. python 学习总结----正则表达式

    python 学习总结----正则表达式 正则表达式应用场景- 特定规律字符串的查找,切割,替换 - 邮箱格式:URl,IP地址等的校验 - 爬虫项目中,特定内容的提取使用原则- 只要使用字符串等函数 ...

  9. python学习笔记 正则表达式 详解2

    python学习笔记 正则表达式 详解 行定位符 行定位符就是用来描述子串的边界."^"表示行的开始:"$"表示行的结尾 ^tm:匹配以子串tm的开始位置是行头 ...

最新文章

  1. linux gcc编译c文件头文件,使用GCC编译器编译C语言
  2. java jsp学习指南_JSP教程–最终指南
  3. 增强服务器安全性能,加强Linux服务器安全的20项建议
  4. Google code android开源项目(五)
  5. linux文件夹不能修改权限
  6. matlab 元胞数组合并(fail)
  7. ugmented reality(AR) equipment
  8. 论文降重从80%降到1%的方法
  9. 2022年高压电工模拟考试及高压电工复审模拟考试
  10. Web页面弹出窗口代码大全
  11. 基于区块链技术的展望:搭建商业银行供应链管理和供应链金融服务平台
  12. 如何取消计算机待机时间,如何更改电脑待机时间
  13. IE浏览器地址栏输入中文乱码问题
  14. Win10系统CLSID大全
  15. caffe学习系列:训练自己的图片集(超详细教程)
  16. python爬虫:批量刷新网页
  17. (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能
  18. VC驿站《VC++网络编程班》开课啦!
  19. 王国栋青岛大学计算机学院,王国栋
  20. 华南师范大学计算机课网址,华南师范大学网络课程 首页

热门文章

  1. java方法有excel实现_Java实现EXCEL操作(1)
  2. 【转】DCMTK 开源库的学习笔记2:直接操作dcm文件中像素数据的尝试
  3. Sharepoint学习笔记 –架构系列—10 Sharepoint的服务器端对象模型(Server Object Model) 2.内容层次结构
  4. Linq找不到行或行已更改
  5. Qt生成的exe中为什么会带有不该有的盾牌?
  6. 正则表达式:匹配Double类型,整数和小数
  7. 【JS逆向百例】某音乐网分离式 webpack 非 IIFE 改写实战
  8. 【HDU - 2639】Bone Collector II (第K大背包,dp,STLset)
  9. 【数据库实验课堂】实验一:数据库的管理
  10. 【CodeForces - 122B 】Lucky Substring (字符串,水题)