当前播放: 43 | 正则表达式的元字符
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
01 | Python语言的特点
免费
02 | Python的发展历史与版本
免费
03 | Python的安装
免费
04 | Python程序的书写规则
免费
05 | 基础数据类型
免费
06 | 变量的定义和常用操作
免费
07 | 序列的概念
08 | 字符串的定义和使用
09 | 字符串的常用操作
10 | 元组的定义和常用操作
11 | 列表的定义和常用操作
12 | 条件语句
13 | for循环
14 | while循环
15 | for循环语句中的if嵌套
16 | while循环语句中的if嵌套
17 | 字典的定义和常用操作
18 | 列表推导式与字典推导式
19 | 文件的内建函数
20 | 文件的常用操作
21 | 异常的检测和处理
22 | 函数的定义和常用操作
23 | 函数的可变长参数
24 | 函数的变量作用域
25 | 函数的迭代器与生成器
26 | Lambda表达式
27 | Python内建函数
28 | 闭包的定义
29 | 闭包的使用
30 | 装饰器的定义
31 | 装饰器的使用
32 | 自定义上下文管理器
33 | 模块的定义
34 | PEP8编码规范
35 | 类与实例
36 | 如何增加类的属性和方法
37 | 类的继承
38 | 类的使用-自定义with语句
39 | 多线程编程的定义
40 | 经典的生产者和消费者问题
41 | Python标准库的定义
42 | 正则表达式库re
43 | 正则表达式的元字符
44 | 正则表达式分组功能实例
45 | 正则表达式库函数match与search的区别
46 | 正则表达式库替换函数sub()的实例
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹操作
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumPy安装
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代码
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式get和post
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链接
68 | Beautiful Soup的安装和使用
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下载图片
71 | 如何分析源代码并设计合理的代码结构&结课测试
43 | 正则表达式的元字符

43 | 正则表达式的元字符

尹会生
金山西山居运维总监
全集20316
新人首单 ¥49.9 原价 ¥199
9
本节摘要

课程源码、课件及课后作业地址:

https://github.com/wilsonyin123/geekbangpython

登录 后留言

精选留言(9)

  • Dragon
    实际生产环境中除了用来做查询还有别的用吗?

    作者回复: 正则表达式的主要作用是“匹配”同一个模式的数据,一般都是原始数据有一定的规则,但又不完全相同:例如在爬取网页里面找到所有的图片,在日志文件提取指定的字段,在用户登录界面匹配是否输入的是邮件地址格式等。

    2019-02-21
    1
  • 没时间了ngu
    \s 是匹配任意空白符的吧,是不是说错了呀

    作者回复: 是空白符,感谢指正。

    官方文档解释:
    For Unicode (str) patterns:
    Matches Unicode whitespace characters
    官方文档位置:
    https://docs.python.org/3.6/library/re.html

    2019-02-18
    1
  • Jarvis
    \d 只能匹配一位数字,不能匹配多个

    作者回复: \d 匹配单个数字
    \d+ 匹配多个连续数字
    \d{5} 匹配指定个数(5个)的数字

    2019-02-11
    1
  • MRDVL
    时间4:12的时候,讲到关于问号,感觉一次或多次应该也是写成 p = re.compile(r'ca?t') 吧?
    试了下似乎 p = re.compile(r'c?t') 不能匹配r'cat', print(p.match(r'cat'))是None。
    谢谢

    作者回复: 您好,
    r'ca?t' 可以匹配 cat ct
    r'c.t' 可以匹配 cat cbt cxt
    视频我再回看一下,有问题及时更新,感谢指正

    2020-06-09
  • 源力
    老师,对.*?还是不太理解,如:
    p = re.compile('a*?')
    print(p.match('aaaaabb'))
    结果:<re.Match object; span=(0, 0), match=''>
    为什么没有找到匹配呢?

    作者回复: .*?可以理解成一个固定的组合,?跟在*后边时,表示懒惰模式,也称非贪婪模式。
    在能使整个匹配成功的前提下尽可能少的匹配字符。

    2020-05-29
  • 星旧
    正则表达式很重要,平时运维经常看到,需要好好学习
    2020-03-29
  • o0oi1i
    打卡43
    2020-02-27
  • 浪费的时间
    jpg跟search才搭配的,按照视频里演示的match实现不了,错误代码如下:
    p = re.compile('jpg$')
    print(p.match('aaa.jpg'))
    2020-02-10
    2
  • 海绵宝宝
    "点"好像不能匹配'\n'吧

    作者回复: 标准正则是这样定义的: '.'是除\n 以外可以匹配任何单个字符,但是我们在讲sed 的多行模式的时候,是可以使用“.”匹配换行符的,如 文本文件内容
    a
    b
    使用 sed 'N;s/a.b/x/' 文本文件.txt
    可以进行替换

    2019-07-08
收起评论
看过的人还看
趣谈网络协议

刘超  网易研究院云计算技术部首席架构师

51讲 | 45870 人已学习

新人首单 ¥19.9 原价 ¥99
Python核心技术与实战

景霄  Facebook资深工程师

47讲 | 17752 人已学习

新人首单 ¥19.9 原价 ¥99
左耳听风

陈皓  网名“左耳朵耗子”,资深技术专家,骨灰级程序员

109讲 | 46538 人已学习

新人首单 ¥69.9 原价 ¥299
从0开始学架构

李运华  前阿里资深技术专家

60讲 | 46230 人已学习

新人首单 ¥29.9 原价 ¥129