摘要:这篇文章主要介绍了正则表达式匹配手机号码(11位手机号正则表达式匹配),需要的朋友可以参考下,如果你喜欢还可以浏览正则表达式匹配手机号码(11位手机号正则表达式匹配)的最新相关推荐信息。
0基础学python(82)
经过上一节比较枯燥的基础内容,今天来看看如何利用正则表达式在Python中进行具体操作。
在Python中使用正则表达式,首先要导入一个re模块。re就是Regular Expression(正则表达式)的缩写,所以导入re模块就是导入”正则表达式模块”。
导入re模块的代码比较简单,它是这样的:
Import re
今天的学习内容就是使用正则表达式匹配字符串。
匹配字符串的实际意义就是查找、查询字符串。在Python中,使用正则表达式匹配字符串,多数情况下,匹配成功后立即返回Match对象,不成功就返回None值。
None值就是假值,这个不用多述。
Match对象是什么呢?就是用一对首位标签”<>”,包含了一次匹配的结果,其中包含了很多的信息,包括有:待匹配的字符串文本、使用的正则表达式、搜索起始位置、搜索结束位置等等。
Match对象可以通过以下几种方法来实现:
“.group() 获得匹配的字符串内容”(商盟百科网chnore.com)
“.start() 匹配字符串在原始字符串的开始位置”
“.end() 匹配字符串在原始字符串的结束位置”
“.span() 返回(.start(), .end())”
现在来正式介绍Python中使用正则表达式匹配字符串匹配字符串的具体操作方法:
1、match()方法
这个方法的用途是匹配字符串开头的字符,它从字符串的起始处开始匹配,匹配成功后立即返回Match对象,不匹配则返回None值,它的语法格式如下:
re.match(pattern,string,[flags])
方法名关键字match前一定要加上re模块名称,并使用”.”连接;
小括号内有三个参数使用逗号”,”分隔;
第一个参数就是正则表达式pattern(模板),属于必填参数;(商盟百科网chnore.com)
第二个参数是要匹配的字符串string,也属于必填参数;
第三个参数是标志位,用来控制匹配的方式,属于可选参数,并且Python中的常用标志如下图所示:
例图1
来看一个例子:匹配字符串是否已以”i_”开头,详见下图:
例图2
可以看到,第一次匹配的时候没有区分字母大小写,匹配成功了返回为Match对象,并使用Match对象三种操作方法得到了起始位置、结束位置和匹配数据。
第二次匹配去掉了第三个可选的参数,结果返回了None值,后面对Match对象的操作方法就无效了,出现了异常。
2、search()方法
这个方法是在整个字符串中找到第一个匹配字符,匹配成功返回Match对象,不匹配则返回None值,它的语法格式如下:(商盟百科网chnore.com)
re.search(pattern,string,[flags])
由于它的语法参数和match()方法是一样的,所以就直接在上面的例子中的字符串中开头加一点东西,再作为例子来实验一下,详见下图:
例图3
可以看到,它的匹配字符虽然不在字符串的开头,但是第一次匹配时也搜索出来了,第二次则是因为没有设定不区分大小写,所以没有与大写的字母匹配,返回了None值。
3、findall()方法
这种方法的功能就比前两种要强大一些,它是匹配字符串中所有的合乎规则的字符,并将所有的匹配结果返回成为一个列表,匹配成功就返回一个有内容的列表,不成功则返回一个空列表。语法格式如下所示:
re.findall(pattern,string,[flags])
格式很雷同,参数用法也和前两种方法一样,直接上例子,详见下图:
例图4
可以看到,findall()方法的执行结果和前两种方法是完全不同的。
接下来用两个小场景模拟实例,来看看正则表达式匹配字符串在生活中可以有什么应用。(商盟百科网chnore.com)
第一个场景是模拟查询手机号码是否属于中国电信,来看下图代码:
例图5
第二个场景是搜索输入内容中有没有自己感兴趣的语句,最终我选择了搜索关于”钱”的内容,请看下图:
例图6
今天的内容就是这些了,感谢大家一直以来的支持,明天开始奉上的是”使用re模块实现正则表达式的替换字符串操作“的内容,敬请拭目以待。
正则表达式匹配手机号码(11位手机号正则表达式匹配)