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中使用ConfigParser解析ini配置文件实例
Aug 30 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python作用域用法实例详解
Mar 15 Python
python学习开发mock接口
Apr 28 Python
python的依赖管理的实现
May 14 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
python socket 聊天室实例代码详解
Nov 14 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
Python多线程thread及模块使用实例
Apr 28 Python
Python pip 常用命令汇总
Oct 19 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 Python
python 使用pandas读取csv文件的方法
Dec 24 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
php实现html标签闭合检测与修复方法
2015/07/09 PHP
PHP多文件上传实例
2015/07/09 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
详解vuex的简单使用
2018/03/12 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
使用python绘制常用的图表
2016/08/27 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
Python unittest如何生成HTMLTestRunner模块
2020/09/08 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
新媒传信软件测试面试题
2013/02/24 面试题
物业管理员岗位职责范文
2013/11/25 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers