python获取字符串中的email
作者:aigo-2021 时间:2021-04-23 21:23:29
调用re库,通过使用compile、findall获取字符串中的email
import re
email=re.compile(r'[a-z0-9\-\.]+@[0-9a-z\-\.]+')
emailtest=r'adfasldfjdsl fan02@163.com'
emailset=set()
for em in email.findall(emailtest):
emailset.add(em)
for em1 in sorted(emailset):
print(em1)
修改:
通过调用函数,并动态地为字符串赋值
import re
def emailre(teststr):
email=re.compile(r'[a-z0-9\-\.]+@[0-9a-z\-\.]+')
emailset=set() #列表
for em in email.findall(teststr):
emailset.add(em)
for eml in sorted(emailset):
print(eml)
emailtest='sdfdsgf asd03@162.com'
emailre(emailtest)
#或
strtest=r'sdgfsg abc@163.com'
emailre(strtest)
运行结果:
补充:
从指定的字符串中提取Email:
/**
* 从指定的字符串中提取Email
* content 指定的字符串
*/
public static String parse(String content) {
String email = null;
if (content==null || content.length()<1) {
return email;
}
//找出含有@
int beginPos;
int i;
String token = "@";
String preHalf="";
String sufHalf = "";
beginPos = content.indexOf(token);
if (beginPos>-1) {
//前项扫描
String s = null;
i= beginPos;
while(i>0) {
s = content.substring(i-1,i);
if (isLetter(s))
preHalf = s+preHalf;
else
break;
i--;
}
//后项扫描
i= beginPos+1;
while( i<content.length()) {
s = content.substring(i,i+1);
if (isLetter(s))
sufHalf = sufHalf +s;
else
break;
i++;
}
//判断合法性
email = preHalf + "@" + sufHalf;
if (isEmail(email)) {
return email;
}
}
return null;
}
/**
* 判断是不是合法Email
* email Email地址
*/
public static boolean isEmail(String email) {
try {
if (email==null || email.length()<1 || email.length()>256) {
return false;
}
String check = "^([0-9a-zA-Z]+[_.0-9a-zA-Z-]+)@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2,3})$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
boolean isMatched = matcher.matches();
if(isMatched) {
return true;
} else {
return false;
}
} catch (RuntimeException e) {
return false;
}
}
/**
* 判断是不是合法字符
* c 要判断的字符
*/
public static boolean isLetter(String c) {
boolean result = false;
if (c==null || c.length()<0) {
return false;
}
//a-z
if (c.compareToIgnoreCase("a")>=0 && c.compareToIgnoreCase("z")<=0) {
return true;
}
//0-9
if (c.compareToIgnoreCase("0")>=0 && c.compareToIgnoreCase("9")<=0) {
return true;
}
//. - _
if (c.equals(".") || c.equals("-") || c.equals("_") ) {
return true;
}
return result;
}
来源:https://blog.csdn.net/aigo_2021/article/details/123859764
标签:python,获取,字符串,email
0
投稿
猜你喜欢
asp sql数据验证之特殊字符处理
2008-02-24 16:35:00
利用Google Ajax Library API加速常用js类库的载入
2008-06-17 17:44:00
python买卖股票的最佳时机(基于贪心/蛮力算法)
2022-12-26 14:44:24
Symfony2实现从数据库获取数据的方法小结
2023-11-14 13:56:35
定位?浮动?自适应?
2008-06-30 14:20:00
使用setup.py安装python包和卸载python包的方法
2023-01-31 02:20:47
SQL Server中处理空值时涉及的三问题
2009-01-20 11:24:00
python实现数据预处理之填充缺失值的示例
2022-01-24 19:44:30
python获取文件真实链接的方法,针对于302返回码
2023-11-23 04:31:03
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2023-10-14 02:31:42
Python内置函数bin() oct()等实现进制转换
2021-05-15 05:15:42
Python数据可视化图实现过程详解
2022-08-30 19:24:17
学习Python爬虫的几点建议
2023-08-08 04:29:08
Pytorch实现List Tensor转Tensor,reshape拼接等操作
2021-06-06 19:58:51
Oracle 数据库操作类
2009-08-12 12:06:00
python3+PyQt5实现自定义窗口部件Counters
2021-05-21 10:47:47
Python中paramiko模块的基础操作与排错问题
2023-06-21 04:45:33
利用pyecharts读取csv并进行数据统计可视化的实现
2023-07-15 07:18:03
python解析xml文件方式(解析、更新、写入)
2022-03-07 05:19:01
js对象基础实例分析
2023-09-03 12:07:56