当前位置:首页 > 开发教程 > ajax教程 >

python获取字符串中的email

时间:2022-03-31 15:20 来源:未知 作者:时间是测谎仪 收藏

这篇文章主要介绍了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)

运行结果:

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内容请搜索源码搜藏网以前的文章或继续浏览下面的相关文章希望大家以后多多支持源码搜藏网!


下一篇:没有了

ajax教程阅读排行

最新文章