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