正则表达式是文本匹配的强大工具,无论是数据清洗、文本匹配、爬虫、日志分析等场景,正则表达式都能发挥出极大的作用。Python作为一门强大的编程语言,自然也支持正则表达式。本篇文章将为大家介绍Python正则表达式的10个实用案例,帮助大家快速掌握Python的正则表达式。 1. 匹配邮箱 匹配邮箱是日常中常使用的功能,可以通过使用“\w+@\w+\.com”来匹配常见的邮箱格式。代码如下所示: import re pattern = r'\w+@\w+\.(com|cn)' string = 'example@gmail.com, example@163.com, example@qq.com' result = re.findall(pattern, string) print(result) 2. 匹配手机号 有效的手机号格式可能会有一些变化,但可以通过使用“1[3456789]\d{9}”匹配大部分有效的手机号码。代码如下所示: import re pattern = r'1[3456789]\d{9}' string = '我的号码是13912345678,收到的电话是15800008888' result = re.findall(pattern, string) print(result) 3. 匹配IP地址 IP地址是网络中非常重要的元素,通过使用“(\d{1,3}\.){3}\d{1,3}”匹配常见的IPv4地址。代码如下所示: import re pattern = r'(\d{1,3}\.){3}\d{1,3}' string = '我的IP地址是192.168.1.1,公司服务器的IP地址是10.0.0.1' result = re.findall(pattern, string) print(result) 4. 匹配URL地址 URL也是网络中非常重要的元素,可以通过使用“(http|https)://[^\s]*”匹配常见的URL地址。代码如下所示: import re pattern = r'(http|https)://[^\s]*' string = '这是一个URL地址:http://www.example.com' result = re.findall(pattern, string) print(result) 5. 匹配日期 日期格式有很多种,但可以通过使用“\d{4}-\d{2}-\d{2}”匹配常见的年月日格式。代码如下所示: import re pattern = r'\d{4}-\d{2}-\d{2}' string = '今天是2021-01-01,明天是2021-01-02' result = re.findall(pattern, string) print(result) 6. 匹配中文 中文是一种特殊的字符,可以通过使用“[\u4e00-\u9fa5]”匹配中文字符。代码如下所示: import re pattern = r'[\u4e00-\u9fa5]+' string = '这是一句中文,包含了一些特殊字符:括号()和句号。' result = re.findall(pattern, string) print(result) 7. 匹配图片链接 匹配图片链接可以通过使用“”来匹配HTML中的图片链接。代码如下所示: import re pattern = r' ' string = '' result = re.findall(pattern, string) print(result) 8. 匹配HTML标签 匹配HTML标签可以通过使用“<(\w+)>.*?\1>”来匹配HTML中的标签。代码如下所示: import re pattern = r'<(\w+)>.*?\1>' string = ' 这是标题
这是一段正文
' result = re.findall(pattern, string) print(result) 9. 匹配连续出现的字符串 匹配连续出现的字符串可以通过使用“(\w)\1+”来匹配连续出现的字母或数字。代码如下所示: import re pattern = r'(\w)\1+' string = 'hello world, 1233333, AAABBBCCC' result = re.findall(pattern, string) print(result) 10. 匹配手机号和身份证号 匹配手机号和身份证号可以通过使用“^1[3456789]\d{9}$|^(\d{15}$|\d{18}$|\d{17}(\d|X|x))$”来匹配常见的手机号和身份证号。代码如下所示: import re pattern = r'^1[3456789]\d{9}$|^(\d{15}$|\d{18}$|\d{17}(\d|X|x))$' string = '我的号码是13912345678,身份证号是110101199001010001' result = re.findall(pattern, string) print(result) 以上就是10个实用的Python正则表达式案例。掌握了这些技能后,相信在数据清洗、文本匹配、爬虫、日志分析等场景中会更加得心应手。