正则 不区分大小写_为什么要学正则表达式 - 6

79ba8b16b0776e1e11ed5bab1d416056.png

02e61d487c21d477c5e9486d2ea85ee6.png


在处理正字符串的时候,经常会有一些复杂规则的字符串需求,

正则表表达式就是描述这些规则的公工具。

换句话说。

正则表达式就是记录文本规则的代码。

上期咱们一起学习了正则表达式re模块提供的match()方法

为什么要学正则表达式 - 5

学习了match()方法对字符串的操作和标识符的区别。

最后通过一个案例明白了match()方法在python中的实际应用。

今天我们来看看re模块提供的另一个search()方法对字符串的操作和在python中实际开发的应用。

使用match()方法匹配字符串

search()方法用于在整个字符串搜索第一个匹配的值,如果匹配成功。则返回Match()对象,否则则返回None。

它的语法格式如下:

re.search(pattern, strings, [flags])

参数:

pattern:表示模式字符串,由要匹配的正则表达式数转换而来.。

strings:表示需要匹配的字符串。

flags:选择参数,用于控制匹配方式。如是否区分字母大小写等。

54ae314e6fa41e23fe20354292494392.png

为了方便比较咱们继续使用昨天的例子来演示search()的使用方法:

我们搜索第一个以s开头的字符串,不区分大小写

pattern = r'sw+'  #匹配字符串规则
string = 'Sixty school students seeing surprising sun snow scream, shout simultaneously'  #要进行匹配的字符串
match_obj = re.search(pattern, string, re.I)   #按照不区分大小写的方式进行匹配
print(match_obj)
#<re.Match object; span=(0, 5), match='Sixty'>

string = r'学生Sixty school students seeing surprising sun snow scream, shout simultaneously'
match_obj = re.search(pattern, string, re.I)   #按照不区分大小写的方式进行匹配
print(match_obj)
#<re.Match object; span=(2, 7), match='Sixty'>

从上述例子我们可以看出,search()方法不仅仅是在字符串的起始位置搜索,其他位置有匹配的也会被搜索出来

946ca11d0dcd81e3f8ce03aebc19b2ae.png

这是总结

re.match与re.search的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

3b72bef1e37a80d9b27e42556ae9b959.png

好了今天的分享就到此了,这两天内容很少很简单,主要是为了让我们可以更好地理解,明天咱们继续干正则表达式!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值