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

f6fc7723c45190a60d543cfb0903a870.png

6c600abcf982964574cf4b64f7fd8608.png

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

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

换句话说。

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

f2e1fd589a8d3da9a0763b86988a031b.png

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


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

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

7c9f088112258ce0c348b395f0b25c72.png

search()方法用于在整个字符串搜索所有符合正则表达式的字符串,并且以列表的形式返回。如果匹配成功。则返回包含匹配结果的列表,否则则返回空列表。

它的语法格式如下:

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

参数:

pattern:表示模式字符串,由要匹配的正则表达式数转换而来.。
strings:表示需要匹配的字符串。
flags:选择参数,用于控制匹配方式。如是否区分字母大小写等。

咱们来看一组例子:

我们搜索以s开头的字符串,分别打印出不区分大小写和区分大小写的列表

pattern = r'Sw+'  #匹配字符串规则
string = 'Sixty school students seeing surprising sun snow scream, shout simultaneously'  #要进行匹配的字符串
match_obj = re.findall(pattern, string, re.I)   #按照不区分大小写的方式进行匹配
print(match_obj)
#['Sixty', 'school', 'students', 'seeing', 'surprising', 'sun', 'snow', 'scream', 'shout', 'simultaneously']

string = r'学生Sixty school students seeing surprising sun snow scream, shout simultaneously'
match_obj = re.findall(pattern, string)   #按照区分大小写的方式进行匹配
print(match_obj)
#['Sixty']

注意

如果在指定的模式字符串中,包含分组。则返回与分组匹配的的文本列表。

请看下例:

pattren = r'[1-9]{1,3}(.[0-9]{1,3}){3}'
str = '127.0.0.1 192.16.8.66'
match_obj = re.findall(pattren, str)
print(match_obj)
#['.1', '.66']

从匹配的结果可以看出没有得到我们想要匹配的结果,而是匹配到了'(.[0-9{1,3}])'的结果。

这是因为在模式字符串中出现了分组!

如果想要获取整个模式字符串中的匹配,需要将整个模式字符串使用一对小括号进行分组,这样在获取到正常的结果。

pattren = r'([1-9]{1,3}(.[0-9]{1,3}){3})'
str = '127.0.0.1 192.16.8.66'
match_obj = re.findall(pattren, str)
print(match_obj)
#[('127.0.0.1', '.1'), ('192.16.8.66', '.66')]

好了今天的分享就到此了。

585a762c0a2d7d58ad32d89a6ec24caa.png

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值