输入一行字符串,请你提取其中出现的邮箱格式字符串,只输出邮箱。Python
时间: 2023-06-25 14:02:32 浏览: 136
可以使用正则表达式来匹配邮箱格式的字符串。以下是示例代码:
```python
import re
# 定义正则表达式,用来匹配邮箱格式的字符串
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
# 输入字符串
string = input("请输入字符串:")
# 查找所有匹配的邮箱字符串
matches = re.findall(pattern, string)
# 输出所有匹配的邮箱字符串
for match in matches:
print(match)
```
解释一下正则表达式:
- `\b`:表示单词边界,用来确保匹配的是一个完整的邮箱地址。
- `[A-Za-z0-9._%+-]+`:表示匹配邮箱地址中的用户名部分。其中,`[A-Za-z0-9]`表示字母和数字,`.`、`_`、`%`、`+`、`-`表示特殊字符,`+`表示前面的字符可以出现一次或多次。
- `@`:表示匹配邮箱地址中的“@”符号。
- `[A-Za-z0-9.-]+`:表示匹配邮箱地址中的域名部分。其中,`[A-Za-z0-9]`表示字母和数字,`.`和`-`表示特殊字符,`+`表示前面的字符可以出现一次或多次。
- `\.`:表示匹配邮箱地址中的“.”符号。需要使用`\`进行转义。
- `[A-Z|a-z]{2,}`:表示匹配邮箱地址中的顶级域名部分。其中,`[A-Z|a-z]`表示字母,`{2,}`表示前面的字符可以出现至少两次。
这个正则表达式并不是完美的,也不一定能够匹配所有正确的邮箱地址,但是对于大部分常见的邮箱地址都可以正确匹配。
阅读全文