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实现豆瓣图片下载的方法
May 25 Python
Python实现截屏的函数
Jul 25 Python
python使用邻接矩阵构造图代码示例
Nov 10 Python
selenium+python实现自动登录脚本
Apr 22 Python
python字符串常用方法
Jun 14 Python
python调用百度REST API实现语音识别
Aug 30 Python
python实现贪吃蛇小游戏
Mar 21 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Python中的面向接口编程示例详解
Jan 17 Python
Python实现Excel文件的合并(以新冠疫情数据为例)
Mar 20 Python
对象析构函数__del__在Python中何时使用
Mar 22 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
第九节 绑定 [9]
2006/10/09 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
PHP关联链接常用代码
2012/11/05 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
JS类定义原型方法的两种实现的区别评论很多
2007/09/12 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
vue vant中picker组件的使用
2020/11/03 Javascript
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Python解决八皇后问题示例
2018/04/22 Python
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
考试不及格的检讨书
2014/01/22 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
质量标语大全
2014/06/12 职场文书
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js