re 模块

一、转义符。‘’

        代表转义。在python 中 r 表示取消所有转义。

二、re 模块中的一些 方法。

  表达形式  ret = re.findall('正则表达式', '字符串')

  1、findall  匹配所有,输出的是一个列表

        findall 遇见分组会优先显示分组内容,此时需要在分组前加上?:,比如(?:d+)

  2、search  和group()连用,输出的是第一个匹配到的结果

  3、match  从开头匹配,如果开头匹配不到,返回None。

        search 遇到分组。

import re
ret = re.search('d+(.d+)(.d+)(.d+)?','1.2.3.4-2*(60+(-40.35/5)-(-4*3))')
print(ret.group())
print(ret.group(1))
print(ret.group(2))
print(ret.group(3))

# 可以实现具体拿哪个结果。第一个分组中的内容就在group()中写1
View Code

  4、sub   替换的。

     subn   替换

import  re
ret = re.sub('d','H','we112wer4ta')
print(ret)
# 将所有的数次替换成'H'


ret 1 = re.sub(('d','H','we112wer4ta', 1)
print(ret1)
# 可以限制替换的次数
View Code
import re
ret = re.subn('d+', 'H', 'we135sttwe3t4')
print(ret)

# 用 subn 替换时, 得到的是一个元祖,前边为替换后的结果,后边是匹配的次数
subn

  5、split    切割    以正则表达式所表示的规则进行切割,返回的是一个列表。

          与分组相遇后,会保留分组中的内容。

         

import re
ret = re.split('(d+)','asd12wer33aw1')
print(ret)


# 以数字进行切割,并保留数字
View Code

  6、compile  (在时间效率上节省)

          基本用法:ret = re.complie(正则表达式)

               ret 1= ret. search(字符串内容)

               print(ret1.group())

  7、finditer    (在空间上节省,即节约内存)

          

import re
ret = re.finditer('d','asdq12adas231asfaf2a')
for i in ret:
    print(i.group())

# 可以进行循环遍历,做到节省内存。
View Code

          

原文地址:https://www.cnblogs.com/wf123/p/9437632.html