python获取字符串中的email


Posted in Python onMarch 31, 2022

 调用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)

运行结果:

python获取字符串中的email

从指定的字符串中提取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; 
 }

到此这篇关于python获取字符串中的email的文章就介绍到这了,更多相关获取字符串中的email内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用rabbitmq实现网络爬虫示例
Feb 20 Python
python中函数传参详解
Jul 03 Python
Python基于列表模拟堆栈和队列功能示例
Jan 05 Python
Python比较2个时间大小的实现方法
Apr 10 Python
Python中的单行、多行、中文注释方法
Jul 19 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
Python之列表实现栈的工作功能
Jan 28 Python
Python列表解析操作实例总结
Feb 26 Python
python实现UDP协议下的文件传输
Mar 20 Python
Django 权限管理(permissions)与用户组(group)详解
Nov 30 Python
Python实现的扫码工具居然这么好用!
Jun 07 Python
Python利用zhdate模块实现农历日期处理
Mar 31 Python
Python利用FlashText算法实现替换字符串
详解Python flask的前后端交互
Mar 31 #Python
ubuntu安装jupyter并设置远程访问的实现
Python中time与datetime模块使用方法详解
Mar 31 #Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 #Python
Python利用zhdate模块实现农历日期处理
Mar 31 #Python
详解Python中__new__方法的作用
Mar 31 #Python
You might like
php 静态变量的初始化
2009/11/15 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
仿新浪微博返回顶部的jquery实现代码
2012/10/01 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
Bootstrap每天必学之导航条(二)
2016/03/01 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
Angular2.js实现表单验证详解
2017/06/23 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
Python3实现定时任务的四种方式
2019/06/03 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
Python内置异常类型全面汇总
2020/05/28 Python
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
荷兰电脑专场:Paradigit
2018/05/05 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
毕业生求职自荐信怎么写
2014/01/08 职场文书
期中考试后的反思
2014/02/08 职场文书
客户经理竞聘演讲稿
2014/05/15 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书
python实现简单倒计时功能
2021/04/21 Python