最新消息:因从typecho切换到wordpress, 由于转换导入问题,文章可能存在部分乱码或者排版问题,逐个排查修复中...

【python 正则表达式】python正则表达式提取邮箱、网址、手机号、ip地址

技术转载 admin 1022浏览 0评论

偷个懒,直接转个别人写的吧。其中原文代码关于邮件地址的检测提取有点小瑕疵,未支持大写字母,我转过来后做了修正。

# encoding: utf-8


import re

# 自定义获取文本电子邮件的函数
def get_findAll_emails(text):
    """
    :param text: 文本
    :return: 返回电子邮件列表
    """
    emails = re.findall(r"[a-zA-Z0-9\.\-+_]+@[a-z0-9\.\-+_]+\.[a-z]+", text)
    return emails



# 自定义获取文本手机号函数
def get_findAll_mobiles(text):
    """
    :param text: 文本
    :return: 返回手机号列表
    """
    mobiles = re.findall(r"1\d{10}", text)
    return mobiles


# 自定义获取文本url函数

def get_findAll_urls(text):
    """
    :param text: 文本
    :return: 返回url列表
    """
    urls=re.findall(r"(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*,]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)|([a-zA-Z]+.\w+\.+[a-zA-Z0-9\/_]+)",text)
    urls=list(sum(urls,()))
	urls=[x for x in urls if x!='']
    return urls



# 自定义获取获取ip地址函数

def get_findAll_ips(text):
    """
    :param text: 文本
    :return: 返回ip列表
    """
    ips = re.findall(r"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b", text)

    return ips



if __name__ == '__main__':
    
    content = "Please 42.121.252.58:443 contact 127.0.0.1  15988455173 us 18720071239 https://blog.csdn.net/u013421629/ at https://www.yiibai.com/ contact@qq.com for further information 1973536419@qq.com You can  also give feedbacl at feedback@yiibai.com"
    emails=get_findAll_emails(text=content)
    print emails
    moblies=get_findAll_mobiles(text=content)
    print moblies
    urls=get_findAll_urls(text=content)
    print urls
    ips=get_findAll_ips(text=content)
    print ips

————————————————
版权声明:本文为CSDN博主「开心果汁」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013421629/article/details/82918060

转载请注明:Linc Hu » 【python 正则表达式】python正则表达式提取邮箱、网址、手机号、ip地址

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址