为啥说我邮箱地址格式不对呢?
当您在一个网站或者客户端程序中,要注册一个新的用户时,网站或客户端程序可能会要求输入您的邮箱地址。也许您不想让网站或客户端程序知道您的邮箱地址,或者嫌输入麻烦,您会随便输入一段字符串,希望蒙混过关。可惜的是当您提交录入的注册信息时,网站或客户端程序会告知您输入的邮箱地址格式错误。网站或客户端程序是如何来判断您输入的邮箱地址格式是错误的呢?
原来是正则表达式在起作用
这就要说到正则表达式了,正则表达式可以使用一些预定义的字符、符号以及这些字符或符号的组合,组成一个规则串,然后使用这个规则串对需要处理的一段字符串进行匹配。如果这段字符串的内容和规则串能够匹配,则匹配成功,否则就匹配失败。正则表达式被经常使用在数据采集、搜索引擎、编译系统、文本编辑器等方面。
正则表达式是由一些预定义的字符以及这些字符组合而成的字符串。关于这些预定义的字符以及组合方式,暂时先不用全部了解其含义及用法,我们会在正则表达式的使用过程中,来逐步了解它们的含义及用法。
先来一个简单的正则表达式
假如您要使用Python开发一个用户注册程序,需要验证用户输入的邮箱地址格式是否正确,哪该怎么编写这个程序呢?
要验证邮箱地址的格式是否正确,需要先弄清楚邮箱地址的格式规则,有了邮箱地址的格式规则,就可以编写正则表达式了。观察邮箱地址,我们发现每个邮箱地址都包含“@”字符。
只有检测给出的邮箱地址是否包含“@”字符,就可以基本确定邮箱地址格式是否正确。如何判断一个字符串是否包含“@”字符呢?在Python语言中,可以使用成员运算符in来判断,不过在这里我们使用正则表达式来检测。
正则表达式就是一段字符串,这段字符串由一些预定义的字符、符号以及这些字符或符号组合而成。
我们先来认识预定义符号“[]”,这个符号是中括号,在中括号内可以包含一个或多个字符、符号构成的集合,当需要匹配的字符串包含中括号内的任意一个字符时,匹配就成功。
例如:匹配一个邮箱地址是否包含“@”符号,可以使用下面的正则表达式:
pattern = “[@]