当涉及到文本处理和模式匹配时,正则表达式是一种强大且灵活的工具。在 Python 中,re
模块提供了对正则表达式的支持,让开发人员能够执行各种文本搜索和处理操作。下面我将简要介绍 re
模块,并列举一些在生活中常用的正则表达式示例。
Python 的 re
模块
re
模块提供了一组函数,用于在文本中搜索和操作字符串模式。以下是一些常用的函数:
-
re.search(pattern, string)
:在给定字符串中搜索指定的模式,并返回第一个匹配项的匹配对象。 -
re.match(pattern, string)
:从字符串的开头开始搜索指定的模式,并返回第一个匹配项的匹配对象。 -
re.findall(pattern, string)
:在字符串中搜索指定的模式,并返回所有匹配项的列表。 -
re.sub(pattern, repl, string)
:用指定的字符串替换字符串中与模式匹配的所有子字符串。 -
re.compile(pattern)
:编译正则表达式模式,返回一个可重复使用的正则表达式对象。
生活中常用的正则表达式示例
- 匹配电子邮件地址:
python
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
- 匹配 URL:
python
pattern = r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
- 匹配手机号码:
python
pattern = r'(?:\+?86)?1(?:3\d{3}|5[^4\D]\d{2}|8\d{3}|7(?:[35678]\d{2}|4(?:0\d|1[0-2]|9\d))|9[189]\d{2}|66\d{2})\d{6}'
- 匹配身份证号码:
python
pattern = r'\b\d{17}[\d|X]|\d{15}\b'
- 匹配日期(YYYY-MM-DD 格式):
python
pattern = r'\b\d{4}-\d{2}-\d{2}\b'
- 匹配 IP 地址:
python
pattern = r'\b(?:\d{1,3}\.){3}\d{1,3}\b'
这些是一些生活中常用的正则表达式示例。使用这些正则表达式,可以在文本中有效地搜索和匹配特定的模式,从而实现各种文本处理和信息提取任务。