Python——使用re模块实现正则表达式操作

Python提供了re模块,用于实现正则表达式的操作,在现实试,可以使用re模块提供的方(search()、match()、findall())进行字符串的处理,也可以使用re模块的compile()方法将模式字符串转换我正则表达式对象,然后再使用正则表达式对象的相关方法来操作字符串。

一. 匹配字符串
匹配字符串可以使用re模块提供的match()、search()、findall()等方法。
1、使用match()方法进行匹配
match()方法用于从字符串的开始出进行匹配,如果在起始位置匹配成功,在返回Match对象,否则返回None,其语法格式为:

re.match(pattern,string,[flahs])	#pattern:表示模式字符串,有要匹配的正则表达式转换而来;string:表示要匹配的字符串;flags:可选参数,表示标志位,用于控制匹配方式。

案例演示:

import re           #导入模块
pattern = r'(13[3-9\d{8}])$|(15[01289]\d{8})$'
mobile ='13634222222'
match=re.match(pattern,mobile)              #进行模式匹配
if match  ==None:                           #判断是否为None,为真表示匹配失败
    print (mobile,"不是有效的中国移动号码")
else:
    print(mobile, "是有效的中国移动号码")
mobile ='13144222221'
match=re.match(pattern,mobile)
if match  ==None:
    print (mobile,"不是有效的中国移动号码")
else:
    print(mobile, "是有效的中国移动号码")

2、使用search()方法进行匹配
match()方法用于在整个字符串中搜索的第一个匹配的值,如果在起始位置匹配成功,在返回Match对象,否则返回None,其语法格式为:


    re.match(pattern,string,[flahs])			#pattern:表示模式字符串,有要匹配的正则表达式转换而来;string:表示要匹配的字符串;flags:可选参数,表示标志位,用于控制匹配方式。

演示案例:

import re           #导入re模块包
pattern= r'(黑客)(抓包)(监听)(Trojan)'            #模式字符串
about ='我是一名程序员,我想研究下黑客方面的书,想研究Trojan。'
match= re.search(pattern,about)         #进行模式匹配
if about==None:                         #判断是否为None,为真表示匹配失败
    print (about,"检查结果:安全!")
else:
    print(about,"检查结果:出现危险词汇!")
about ='我是一名程序员,我想学习Python语言,充实自己!'
match= re.search(pattern,about)
if about==None:
    print (about,"检查结果:安全!")
else:
    print(about,"检查结果:出现危险词汇!")

3、使用findall()方法进行匹配
findall()方法用于在整个字符串中搜索所有符合正则表达式的字符串,并以列表的形式返回,如果匹配成功则返回包含匹配结构的列表,否则返回空列表。其语法格式如下:


   re.findall(pattern,string,[flahs])			#pattern:表示模式字符串,有要匹配的正则表达式转换而来;string:表示要匹配的字符串;flags:可选参数,表示标志位,用于控制匹配方式。

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值