python获取字符串中的email
更新时间:2022年03月31日 11:48:25 作者:aigo-2021
这篇文章主要介绍了python获取字符串中的email,通过调用re库,通过使用compile、findall获取字符串中的email,下文详细实现过程需要的小伙伴可以参考一下
调用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)
运行结果:
补充:
从指定的字符串中提取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学习笔记之调用eval函数出现invalid syntax错误问题
python是一门多种用途的编程语言,时常扮演脚本语言的角色。一般来说,python可以定义为面向对象的脚本语言,这个定义把面向对象的支持和面向脚本语言的角色融合在一起。很多时候,人们常常喜欢用“脚本”和不是语言来描述python的代码文件。2015-10-10Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
这篇文章主要介绍了Python统计一个字符串中每个字符出现了多少次的方法,涉及Python字符串转换及列表遍历、统计等相关操作技巧,需要的朋友可以参考下2019-05-05解决pycharm上的jupyter notebook端口被占用问题
今天小编就为大家分享一篇解决pycharm上的jupyter notebook端口被占用问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-12-12
最新评论