re 模块 025

Posted f-g-f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了re 模块 025相关的知识,希望对你有一定的参考价值。

re 由Python提供的一套关于处理正则表达式的模块有以下四个核心功能:

  import re 

  1. findall # 查找所有 返回列表(list)

    

import re
lst = re.findall(m,mai le fo len , mai ni mei!)
print(lst) #[‘m‘, ‘m‘, ‘m‘]

lst1 = re.findall(rd+,5点之前,记得给我5000万)
print(lst1) #[‘5‘, ‘5000‘]

  2. finditer # 和findall 差不多 这是是返回迭代器

import re
it = re.finditer(m,mai le fo len, mai ni mei!)
print(it)  #<callable_iterator object at 0x0000021AF5CAC0F0> 迭代器
for el in it:
    print(el.group())  #依然需要分组  挨个拿到元素

  3.search 会进行进行匹配 如果匹配到第一个结果, 就会返回这个结果 如果匹配不上返回的是None

ret = re.search(a,abc).group()
print(ret)  # a
ret1 = re.search(rd,5点以前, 打给我25块!).group()
print(ret1)  # 5

  4.match 只能从字符串的开头进行匹配 (如果不是a开头会报错)

ret = re.match(a,abc).group()
print(ret)  # a

  正则 : 在Python中()表示分组  (?:)去掉Python的分组

  (?P<名字>正则) 把正则匹配到的内容分组成‘名字‘组

  5.其他操作

    split 按照正则切割.

ret = re.split(r[ab],qwerafjbcd) # 先按‘a‘分割得到‘qwer‘和‘fjbcd‘,再对两者分别按b分割
print(ret) #[‘qwer‘, ‘a‘, ‘fj‘, ‘b‘, ‘cd‘] 没有了a 和 b
ret1 = re.split(r([ab]),qwerafjbcd)# 切割过程和上边的一样 不过保留了a和b
print(ret1) #[‘qwer‘, ‘a‘, ‘fj‘, ‘b‘, ‘cd‘] 有了a 和 b

    sub 替换.

result = re.sub(250,__sb__,alex250taibai250taihei250ritian250liuwei)
print(result) #alex__sb__taibai__sb__taihei__sb__ritian__sb__liuwei

    compile

obj = re.compile(rd{3}) # 将正则表达式编译成为一个正则表达式对象,规则是要匹配的是3个数字
ret = obj.search(abc123eeee) #正则表达式对象调用search,参数为待匹配的字符串
print(ret.group()) # 结果是123

    爬虫重点

obj = re.compile(r(?P<id>d+)(?P<name>e+)) #从正则表达式匹配的内容每个组起名字‘?P<>是一体的一起出来‘
ret = obj.search(abc123eeee) # 搜索
print(ret.group()) #结果:123eeee
print(ret.group(id))# 结果 123 获取id组的内容
print(ret.group(name)) # 结果 eeee 获取name组中的内容

    坑 

 ret = re.findall(www.(baidu|oldboy).com, www.oldboy.com)
 print(ret) # 这是因为findall会优先把匹配结果组里内容返回,如果想要匹配结果,取消权限即可
 ret = re.findall(www.(?:baidu|oldboy).com, www.oldboy.com) # ?: 当前的()不分组
 print(ret) # [‘www.oldboy.com‘]

二 . 模块

  import 模块名

      

    

  

以上是关于re 模块 025的主要内容,如果未能解决你的问题,请参考以下文章

025Python路--安装第三方模块

python中的re模块

[Python3] 025 包

第43天python学习re模块学习

基于php025旅游网资源信息网站

python 正则表达式 re模块基础