用python写一个正则表达式
时间: 2024-03-09 10:24:48 浏览: 19
来匹配一个电子邮件地址。
答:可以用以下正则表达式来匹配电子邮件地址:
```
import re
email_pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
```
解析:
- `^` 表示字符串的开头, `$` 表示字符串的结尾,这两个符号组成了正则表达式的边界。这个正则表达式只能匹配整个字符串为一个电子邮件地址。
- `[a-zA-Z0-9._%+-]+` 表示匹配一个或多个字母、数字、下划线、百分号、加号和减号。这个部分是电子邮件地址中的用户名部分,必须至少包含一个字符。
- `@` 表示匹配一个 '@' 符号。
- `[a-zA-Z0-9.-]+` 表示匹配一个或多个字母、数字、点号和连字符。这个部分是电子邮件地址中的域名部分,必须至少包含一个字符。
- `\.` 表示匹配一个点号。由于点号在正则表达式中有特殊含义,需要使用反斜线进行转义。
- `[a-zA-Z]{2,}` 表示匹配两个或更多的字母。这个部分是电子邮件地址中的顶级域名部分,必须至少包含两个字符。
因此,`email_pattern` 可以匹配符合电子邮件地址的字符串,例如:
```
email = 'example.email123@domain.com'
if re.match(email_pattern, email):
print('Valid email address')
else:
print('Invalid email address')
```
输出结果为 `Valid email address`。