大家好,又见面了,我是你们的朋友全栈君。
在上一篇文章中,我们介绍了 Python 的捕获组和特殊匹配字符串,现在我们介绍 Python 的正则表达式使用示例。查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/10040430.html
邮箱地址提取
为了演示正则表达式的示例用法,我们创建一个从字符串中提取电子邮箱地址的程序。假设我们有一个包含电子邮箱地址的字符串。
string = "Please contact media@nostarch.com for assistance"
我们希望提取出类似 media@nostarch.com 的字符串。一个典型的电子邮件地址由一个词组成,可以包括点或破折号。接下来是@符号和域名 (名词、一个点和域名后缀) 。下面我们来构建正则的基础框架。
pat = r'([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)'
[\w\.-]+ 匹配一个或多个字符串,点或破折号。上面的正则表达式表示字符串应该包含一个单词 (包含点和破折号) , 后面跟着 @ 符号,接着是另一个类似的单词,然后是一个点和另一个单词。
我们的正则包含三个组: 1、 电子邮箱的第一部分用户名 2、 无后缀的域名 3、 域名的后缀
import re string = "Please contact media@nostarch.com for assistance" pat = r'([\w\.-]+)@([\w\.-]+)(\.[\w\.]+)' match = re.search(pat,string) if match: print(match.group())
运行结果:
>>> media@nostarch.com >>>
如果字符串包含多个电子邮件地址,我们可以使用 re.findall 方法而不是 re.search 来提取电子邮件地址。
本文中的正则实例只是为了演示目的,在现实情况下需要更复杂的正则表达式才能完全验证电子邮件地址。
“如果你想战胜恐惧,不要坐在家里空想,走出去,动起来。” – 戴尔·卡耐基
转载于:https://www.cnblogs.com/dustman/p/10048507.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107168.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...