📅  最后修改于: 2023-12-03 15:04:36.796000             🧑  作者: Mango
在Python中,我们可以使用正则表达式来处理和匹配文本中的模式。正则表达式是一种由特定字符和符号组成的序列,用于描述文本中的模式。可以通过Python标准库中提供的re模块来使用正则表达式。
正则表达式的语法由一系列特殊字符和符号组成,它们用于描述文本中的模式。正则表达式中最常用的特殊字符和符号如下:
下面是一些使用正则表达式匹配模式的例子:
import re
phone_numbers = [
'13812345678',
'13011112222',
'15088889999',
'17700000011',
]
pattern = r'^1[3-9]\d{9}$'
for phone_number in phone_numbers:
if re.match(pattern, phone_number):
print(f'{phone_number} 是手机号码')
else:
print(f'{phone_number} 不是手机号码')
输出结果:
13812345678 是手机号码
13011112222 是手机号码
15088889999 是手机号码
17700000011 不是手机号码
import re
email_addresses = [
'abc@123.com',
'xyz@qq.com',
'test@test.test',
'helloworld',
]
pattern = r'^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$'
for email_address in email_addresses:
if re.match(pattern, email_address):
print(f'{email_address} 是电子邮件地址')
else:
print(f'{email_address} 不是电子邮件地址')
输出结果:
abc@123.com 是电子邮件地址
xyz@qq.com 是电子邮件地址
test@test.test 是电子邮件地址
helloworld 不是电子邮件地址
import re
text = 'hello, world!'
pattern = r'o'
new_text = re.sub(pattern, '*', text)
print(new_text) # 输出:hell*, w*rld!
import re
text = 'a b c d e f'
pattern = r'\s+'
new_text = re.split(pattern, text)
print(new_text) # 输出:['a', 'b', 'c', 'd', 'e', 'f']
正则表达式在Python中是非常常用和强大的工具,它可以帮助我们处理和匹配文本中的模式。在使用正则表达式时需要熟悉其语法和常见的用法,可以通过Python标准库中的re模块来使用正则表达式。