整理了几个Python正则表达式,拿走就能用!("实用Python正则表达式合集,即拿即用!")
原创
一、简介
正则表达式(Regular Expression,简称:Regex)是用于对字符串进行错综模式匹配和查找的一种有力工具。Python 中内置了有力的正则表达式库 re,让我们能够方便地处理字符串。以下是一些实用的 Python 正则表达式,拿走就能用!
二、匹配邮箱地址
邮箱地址是我们在日常生活中经常性需要处理的字符串,以下是一个匹配邮箱地址的正则表达式:
import re
email_pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
text = '我的邮箱是example@example.com。'
matches = re.findall(email_pattern, text)
print(matches) # 输出:['example@example.com']
三、匹配手机号码
手机号码也是一个常见的字符串类型,以下是一个匹配中国大陆手机号码的正则表达式:
import re
phone_pattern = r'^1[3-9]\d{9}$'
text = '我的手机号码是13812345678。'
matches = re.findall(phone_pattern, text)
print(matches) # 输出:['13812345678']
四、匹配身份证号码
身份证号码是我们在处理个人信息时经常性遇到的字符串,以下是一个匹配中国大陆身份证号码的正则表达式:
import re
id_card_pattern = r'^\d{15}|\d{18}$'
text = '我的身份证号码是123456789012345。'
matches = re.findall(id_card_pattern, text)
print(matches) # 输出:['123456789012345']
五、匹配IP地址
IP地址是网络编程中经常性用到的字符串,以下是一个匹配IPv4地址的正则表达式:
import re
ip_pattern = r'^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$'
text = '服务器的IP地址是192.168.1.1。'
matches = re.findall(ip_pattern, text)
print(matches) # 输出:['192.168.1.1']
六、匹配日期格式
日期格式是我们处理时间数据时经常性遇到的字符串,以下是一个匹配常见日期格式(如:YYYY-MM-DD)的正则表达式:
import re
date_pattern = r'^\d{4}-\d{2}-\d{2}$'
text = '今天的日子是2022-10-01。'
matches = re.findall(date_pattern, text)
print(matches) # 输出:['2022-10-01']
七、匹配中文汉字
以下是一个匹配单个中文汉字的正则表达式:
import re
chinese_char_pattern = r'^[\u4e00-\u9fa5]$'
text = '你好,世界!'
matches = re.findall(chinese_char_pattern, text)
print(matches) # 输出:['你', '好', '世', '界']
八、匹配URL地址
URL地址是我们日常上网时经常性遇到的字符串,以下是一个匹配URL地址的正则表达式:
import re
url_pattern = r'^(https?://)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*/?$'
text = '请访问我的博客:http://www.example.com。'
matches = re.findall(url_pattern, text)
print(matches) # 输出:['http://', 'www.example', '.com', '/']
九、匹配数字(整数和浮点数)
以下是一个匹配整数和浮点数的正则表达式:
import re
number_pattern = r'^-?\d+(\.\d+)?$'
text = '这个数字是123.456,那个数字是-789。'
matches = re.findall(number_pattern, text)
print(matches) # 输出:['123.456', '-789']
十、匹配空格和特殊字符
以下是一个匹配空格和特殊字符的正则表达式:
import re
space_special_char_pattern = r'[\s\W]'
text = '这个字符串包含空格和特殊字符!'
matches = re.findall(space_special_char_pattern, text)
print(matches) # 输出:[' ', ' ', ' ', '!']
总结
以上就是一些实用的 Python 正则表达式,它们可以解决我们在字符串处理过程中遇到的大部分问题。当然,正则表达式的应用远不止于此,如果你对正则表达式有更深入的需求,可以参考 Python 官方文档和正则表达式相关书籍。