re模块

作者: 伪琴客 | 来源:发表于2018-05-09 13:52 被阅读0次

1、re.match函数

原型:match(pattern, string, flags=0)

参数:patter: 匹配的正则表达式

            string: 要匹配的字符串

            flags:标志位,用于控制正则表达式的匹配方式,值如下:

                    re.I    忽略大小写

                    re.L    做本地户识别

                    re.M    多行匹配,影响^和$

                    re.S    是.匹配包括换行符在内的所有字符

                    re.U    根据Unicode字符集解析字符,影响\w  \W  \b  \B

                    re.X    使我们以更灵活的格式理解正则表达式

功能:尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,返回None。扫描整个字符串,返回从起始位置成功的匹配

2、re.search函数

原型:search(pattern, string, flags=0)

参数:patter: 匹配的正则表达式

            string: 要匹配的字符串

            flags:标志位,用于控制正则表达式的匹配方式

功能:扫描整个字符串,并返回第一个成功的匹配

3、re.findall函数

原型:findall(pattern, string, flags=0)

参数:patter: 匹配的正则表达式

            string: 要匹配的字符串

            flags:标志位,用于控制正则表达式的匹配方式

功能:扫描整个字符串,并返回结果列表

4、re.split()字符串切割

str1 ="This        is    a   test"

print(re.split(r" +", str1))

5、re.finditer函数

原型:finditer(pattern, string, flags=0)

参数:patter: 匹配的正则表达式

            string: 要匹配的字符串

            flags:标志位,用于控制正则表达式的匹配方式

功能:与findall类似,扫描整个字符串,返回的是一个迭代器

6、字符串的替换和修改

re.sub(pattern, repl, string, count=0)

re.subn(pattern, repl, string, count=0)

        pattern:  正则表达式(规则)

        repl:    指定的用来替换的字符串

        string:  目标字符串

        count:    最多替换次数

功能:在目标字符串中以正则表达式的规则匹配字符串,再把他们替换成指定的字符串。可以指定替换的次数,如果不指定,替换所有的匹配字符串

区别:前者返回一个被替换的字符串,后者返回一个元组,第一个元素被替换的字符串,第二个元素表示被替换的次数

7、分组

除了简单的判断是否匹配之外,正则表达式还有提取子串的功能。用()表示的就是提取分组

str1 ="010-53247654"

m = re.match(r"(?P\d{3})-(?P\d{8})", str1)

#使用序号获取对应组的信息,group(0)一直代表的原始字符串

print(m.group(0))

print(m.group(1))

print(m.group("first"))

print(m.group(2))

#查看匹配的各组的情况

print(m.groups())

8、编译:

当我们使用正则表达式时,re模块会干两件事

(1)、编译正则表达式,如果正则表达式本身不合法,会报错

(2)、用编译后的正则表达式去匹配对象

compile(pattern, flags=0)

pattern:要编译的正则表达式

示例:

pat =r"^1(([3578]\d)|(47))\d{8}$"

print(re.match(pat, "13687872525"))

#编译成正则对象

re_telephon = re.compile(pat)

print(re_telephon.match("13687872525"))

相关文章

  • 21.Python之re模块

    Python之re模块 re模块介绍re 模块使 Python 语言拥有全部的正则表达式功能。 re模块的内置方法...

  • python(学会正则走天下)

    python通过re模块来实现。本篇文章着重对Python的RE进行介绍re 模块首先通过 re.compiler...

  • Python 脚本之统计基因组文件中染色体长度及N碱基数目

    模块介绍 re模块 re模块是Python中的正则表达式调用模块,在python中,通过将正则表达式内嵌集成re模...

  • 遇见正则表达式(2)

    昨天我已经埋好了伏笔,今天来重点学习re模块。 学习re模块,主要是学习该模块的几个重要的方法。 re.finda...

  • 小猪的Python学习之旅 —— 3.正则表达式

    re模块 Python中通过re模块使用正则表达式,该模块提供的几个常用方法: 1.匹配 re.match(pat...

  • python05-正则表达式(二)

    正则表达式(二) re模块(regex) python中没有正则表达式的函数,需要引入内置的re模块 re模块方法...

  • re模块

    匹配标签 匹配整数 数字匹配 爬虫练习

  • re模块

    参考资料https://www.ibm.com/developerworks/cn/opensource/os-c...

  • re 模块

    1、Python中的模块有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include...

  • re模块

    1、re.match函数 原型:match(pattern, string, flags=0) 参数:patter...

网友评论

      本文标题:re模块

      本文链接:https://www.haomeiwen.com/subject/gdbnrftx.html