正则表达式教程

正则表达式(Python版本)

前言

正则表达式(Regular Expression)是一种用于描述文字规则的字符串。

正则表达式是一门非常通用的技术,无论你是在编写 Word 或者 Excel 文档时进行查找替换,还是用爬虫爬取页面提取数据,再或者解析网站的 URL 地址都离不开它。他是每个计算机使用者或开发者都必须了解的技术。

下面的课程当中,我们将使用 Python 语言来讲解正则表达式的规则。正则表达式不仅可以用在 Python 语言中,其他的编程语言和一些应用工具软件也可以使用正则表达式技术。

正则表达式的用途

  1. 验证文本(如邮箱、电话号码格式)。
  2. 搜索与替换(批量修改代码或文档)。
  3. 提取数据(从日志或网页中抓取特定内容等)。

为什么学习正则表达式?

  1. 文本数据处理已经成为大数据时代下的日常工作,而文本处理离不开正则表达式。
  2. 对文本内容的查找,定位,提取的逻辑比较复杂的工作需要正则表达式。

正则表达式是由普通字符和特殊字符(也称为元字符:Meta Characters)组成的字符串,用以描述一定的字符串规则,比如:重复,位置等,来表达某类特定的字符串,进而匹配。

所谓特殊字符是指由有特殊含义的字符,用于构建复杂的匹配模式。

例如:

字符串 "1[35678]\d{9}" 就可以表示以 1 开头,第二个数字是3、5、6、7、8中的一个,第三个和之后的八个数字都是0~9之间的数字组成的11位移动电话号码。

这就是正则表达式的写法,其中的 1 是普通字符,[35678]\d{9} 都是有语法含义的特殊字符。

另外字符串 "^\w+@\w+\.\w+$" 表示邮箱的命名规则,如:author@weimingze.com;weimz@gitee.com等。

正则表达式的优缺点

正则表达式的优点在于其灵活性,缺点是正则难以阅读,调试困难。

本课程目标

  1. 掌握正则表达式各种特殊字符的用法。
  2. 能够读懂常用正则表达式并能够编辑正则表达式来完成日常工作。
  3. 能在 Word 和 Excel 等文档编写工具中使用正则表达式进行查找和替换。
  4. 能在 Visual Studio Code 或 PyCharm 中使用正则表达式进行批量查找和替换。
  5. 能在爬虫项目中解析 HTML 中的信息,并用正则表达式提取其中的信息。
  6. 能在 Django 或 Flask 后端项目中正确匹配 URL 并提取信息。

前置课程

学习本课程之前,请先学习 《Python教程(基础篇)》 的内容。

本课程使用 Python 语言的进行效果演示。

下面我们来讲解正则表达式,来和我一起开始学习吧!