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的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
python的unittest测试类代码实例
Dec 07 Python
Python3计算三角形的面积代码
Dec 18 Python
Python字符串拼接六种方法介绍
Dec 18 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 Python
Python爬虫PyQuery库基本用法入门教程
Aug 04 Python
python读出当前时间精度到秒的代码
Jul 05 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
python提取xml里面的链接源码详解
Oct 15 Python
最新2019Pycharm安装教程 亲测
Feb 28 Python
Python select及selectors模块概念用法详解
Jun 22 Python
使用Python解决图表与画布的间距问题
Apr 11 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新手上路(十一)
2006/10/09 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
php筛选不存在的图片资源
2015/04/28 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
微信小程序动态添加view组件的实例代码
2019/05/23 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
应届生骨科医生求职信
2013/10/31 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
幼儿教师国培感言
2014/02/19 职场文书
学生评语大全
2014/04/18 职场文书
《开国大典》教学反思
2014/04/19 职场文书
转让协议书范本
2014/09/13 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript