python获取字符串中的email
调用re库,通过使用compile、findall获取字符串中的email
1 2 3 4 5 6 7 8 | 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) |
修改:
通过调用函数,并动态地为字符串赋值
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | /** * 从指定的字符串中提取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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
python学习笔记之调用eval函数出现invalid syntax错误问题
python是一门多种用途的编程语言,时常扮演脚本语言的角色。一般来说,python可以定义为面向对象的脚本语言,这个定义把面向对象的支持和面向脚本语言的角色融合在一起。很多时候,人们常常喜欢用“脚本”和不是语言来描述python的代码文件。2015-10-10Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
这篇文章主要介绍了Python统计一个字符串中每个字符出现了多少次的方法,涉及Python字符串转换及列表遍历、统计等相关操作技巧,需要的朋友可以参考下2019-05-05解决pycharm上的jupyter notebook端口被占用问题
今天小编就为大家分享一篇解决pycharm上的jupyter notebook端口被占用问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-12-12
最新评论