正则表达式匹配邮箱:" 123 @ qq.comaaa @ 163. combbb @ 126. comasdfasfs33333@adfcom"
时间: 2023-06-14 21:05:57 浏览: 234
可以使用如下的正则表达式来匹配邮箱:
```
\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b
```
在 Python 中,可以这样写:
```python
import re
text = "123@qq.comaaa@163.combbb@126.comasdfasfs33333@adfcom"
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b'
emails = re.findall(pattern, text)
print(emails)
```
输出:
```
['123@qq.com', 'aaa@163.com', 'bbb@126.com', 'asdfasfs33333@adfcom']
```
这个正则表达式的解释如下:
- `\b` 表示单词边界,用于确保匹配的是整个邮箱地址而不是其它字符的一部分。
- `[A-Za-z0-9._%+-]+` 匹配邮箱地址的用户名部分。其中:
- `A-Za-z0-9` 表示匹配字母和数字。
- `._%+-` 表示匹配一些特殊字符,包括点、下划线、百分号、加号和减号。
- `+` 表示匹配一次或多次。
- `@` 表示匹配邮箱地址中的 @ 符号。
- `[A-Za-z0-9.-]+` 匹配邮箱地址的域名部分。其中:
- `A-Za-z0-9` 表示匹配字母和数字。
- `.-` 表示匹配一些特殊字符,包括点和减号。
- `+` 表示匹配一次或多次。
- `\.` 表示匹配邮箱地址中的 . 符号,需要使用反斜杠进行转义。
- `[A-Za-z]{2,}` 匹配邮箱地址中的顶级域名部分,至少有两个字母。其中:
- `A-Za-z` 表示匹配字母。
- `{2,}` 表示匹配两个或更多字母。
阅读全文