Python3 正则表达式学习笔记

什么是正则表达式

正则表达式是一种用于匹配、查找和替换文本的表达式。在Python中,我们可以使用re模块来使用正则表达式。

使用正则表达式的基本步骤

  1. 导入re模块
  2. 创建一个匹配模式(正则表达式)
  3. 使用re模块提供的函数进行匹配、查找或替换操作

正则表达式元字符

以下是一些常用的正则表达式元字符:

  • . 匹配任意一个字符
  • * 匹配前面的字符0次或多次
  • + 匹配前面的字符1次或多次
  • ? 匹配前面的字符0次或1次
  • ^ 匹配字符串的开头
  • $ 匹配字符串的结尾
  • [] 匹配方括号中的任意一个字符
  • () 分组,将其中的内容作为一个整体

re模块提供的函数

以下是re模块提供的一些常用函数:

  • match(pattern, string):从字符串的开头开始匹配
  • search(pattern, string):搜索一个字符串中是否存在匹配的子串
  • findall(pattern, string):从字符串中找出所有匹配的子串
  • sub(pattern, repl, string):用指定的字符串替换匹配的子串

正则表达式实例

匹配日期

我们可以使用正则表达式来匹配日期,例如:

pythonCopy Code
import re date_pattern = r'\d{4}-\d{2}-\d{2}' text = '2023-06-03 is the current date' match = re.search(date_pattern, text) if match: print('Match found:', match.group()) else: print('No match found')

输出结果为:

Copy Code
Match found: 2023-06-03

匹配电子邮件地址

我们可以使用正则表达式来匹配电子邮件地址,例如:

pythonCopy Code
import re email_pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' text = 'My email address is binjie09@gmail.com' match = re.search(email_pattern, text) if match: print('Match found:', match.group()) else: print('No match found')

输出结果为:

Copy Code
Match found: binjie09@gmail.com

总结

本文介绍了正则表达式的基础知识,包括正则表达式元字符、re模块提供的函数以及实例。通过掌握这些内容,我们可以更加灵活地使用Python来处理文本数据。