匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

快速掌握Python的正则表达式:10个实用案例

正则表达式是文本匹配的强大工具,无论是数据清洗、文本匹配、爬虫、日志分析等场景,正则表达式都能发挥出极大的作用。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 = 'example'

result = re.findall(pattern, string)
print(result)

8. 匹配HTML标签

匹配HTML标签可以通过使用“<(\w+)>.*?”来匹配HTML中的标签。代码如下所示:

import re

pattern = r'<(\w+)>.*?'
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正则表达式案例。掌握了这些技能后,相信在数据清洗、文本匹配、爬虫、日志分析等场景中会更加得心应手。