Python3 正则表达式学习笔记
什么是正则表达式
正则表达式是一种用于匹配、查找和替换文本的表达式。在Python中,我们可以使用re模块来使用正则表达式。
使用正则表达式的基本步骤
- 导入re模块
- 创建一个匹配模式(正则表达式)
- 使用re模块提供的函数进行匹配、查找或替换操作
正则表达式元字符
以下是一些常用的正则表达式元字符:
.
匹配任意一个字符*
匹配前面的字符0次或多次+
匹配前面的字符1次或多次?
匹配前面的字符0次或1次^
匹配字符串的开头$
匹配字符串的结尾[]
匹配方括号中的任意一个字符()
分组,将其中的内容作为一个整体
re模块提供的函数
以下是re模块提供的一些常用函数:
match(pattern, string)
:从字符串的开头开始匹配search(pattern, string)
:搜索一个字符串中是否存在匹配的子串findall(pattern, string)
:从字符串中找出所有匹配的子串sub(pattern, repl, string)
:用指定的字符串替换匹配的子串
正则表达式实例
匹配日期
我们可以使用正则表达式来匹配日期,例如:
pythonCopy Codeimport 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 CodeMatch found: 2023-06-03
匹配电子邮件地址
我们可以使用正则表达式来匹配电子邮件地址,例如:
pythonCopy Codeimport 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 CodeMatch found: binjie09@gmail.com
总结
本文介绍了正则表达式的基础知识,包括正则表达式元字符、re模块提供的函数以及实例。通过掌握这些内容,我们可以更加灵活地使用Python来处理文本数据。