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实现巡检系统(solaris)示例
Apr 02 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
Python复制文件操作实例详解
Nov 10 Python
python 写的一个爬虫程序源码
Feb 28 Python
Python环境下搭建属于自己的pip源的教程
May 05 Python
Python错误: SyntaxError: Non-ASCII character解决办法
Jun 08 Python
python3调用百度翻译API实现实时翻译
Aug 16 Python
详解Django配置JWT认证方式
May 09 Python
django queryset相加和筛选教程
May 18 Python
Django windows使用Apache实现部署流程解析
Oct 12 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
Pandas实现DataFrame的简单运算、统计与排序
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
服务器端解压缩zip的脚本
2006/12/22 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
ThinkPHP分页类使用详解
2014/03/05 PHP
PHP Web表单生成器案例分析
2020/06/02 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
2019/04/30 Python
python中加背景音乐如何操作
2020/07/19 Python
Python 操作 MySQL数据库
2020/09/18 Python
详解python算法常用技巧与内置库
2020/10/17 Python
毕业证丢失证明
2014/01/15 职场文书
大学生校园创业计划书
2014/02/08 职场文书
学习雷锋倡议书
2014/04/15 职场文书
职员竞岗演讲稿
2014/05/14 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
导游词范文
2015/02/13 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
python非标准时间的转换
2021/07/25 Python
nginx 配置缓存
2022/05/11 Servers
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS