• re模块 | Python 3.5


    https://docs.python.org/3/library/re.html

    http://www.cnblogs.com/PythonHome/archive/2011/11/19/2255459.html

    1.提供正则表达式相关操作

    2.模式串和匹配串可以是Unicode或8-bit字符串,但不能混用

    3.语法

      http://www.cnblogs.com/book-book/p/5411634.html

      '.' 在DOTALL模式下能匹配' '

      '^'、'$'在MULTILINE模式下能匹配多行起始和结束

      (?aiLmsux):

        A: ASCII-only

        I: ignore case

        L: local dependent

        M: multiple line

        S: dot all

        U: Unicode-only

        X: verbose

      (?P<name>...)

      (?P=name)

      (?#...)

      (?<=...)

      (?<!...)

      (?(id/name)yes-pattern|no-pattern)

      A、匹配字符串起始和结束位置

    4.模块内容

      re.compile(pattern, flags=0)

        返回RegexObject对象

        flags有多个时用 '|' 隔开

          re.A  re.ASCII

          re.DEBUG

          re.I   re.IGNORECASE

          re.L   re.LOCAL

          re.M  re.MULTILINE

          re.S   re.DOTALL

          re.X   re.VERBOSE

      re.search(pattern, string, flags=0)

        在string中任意位置匹配,返回第一个匹配到的对象(match object),或返回None

      re.match(pattern, string, flags=0)

        在string起始位置匹配(即使有re.M属性)

      re.fullmatch(pattern, string, flags=0)

        当整个string能被pattern匹配时返回对应的match object,否则返回None

      re.split(pattern, string, maxsplit=0, flags=0)

        用pattern分割string,如果pattern是用括号括起来的,则能被pattern匹配的分割部分也将保留在结果中

        maxsplit不为0时,分割maxsplit次后剩余部分保留在结果中

        若开头(或结尾)能被pattern匹配,则结果列表中会以空串开始(或结束)

        目前: 空pattern将会被忽略,且若pattern可能为空,有FutureWarning,若pattern为空,有ValueError

      re.findall(pattern, string, flags=0)

        找出所有不重叠的匹配子串并返回一个列表

      re.finditer(pattern, string, flags=0)

        找出匹配子串并返回迭代器,若无匹配返回空列表

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

        将string中能被pattern匹配的子串替换为repl

        当count不为0时表示替换count次

        repl可以是一个函数

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

        同re.sub() 但re.subn()返回包含心字符串和替换词数的二元组

      re.escape(string)

        对string中非字母数字进行转义

      re.purge()

        清除re缓存

      exception:

        re.error(msg, pattern=None, pos=None)

      Regular Expression Object:

        regex.search(string[, pos[, endpos]])

        regex.match(string[, pos[, endpos]])

        regex.fullmatch(string[, pos[, endpos]])

        regex.split(string, maxsplit=0)

        regex.findall(string[, pos[, endpos]])

        regex.finditer(string[, pos[, endpos]])

        regex.sub(repl, string, count=0)

        regex.subn(repl, string, count=0)

        regex.flags

        regex.groups

        regex.groupindex

        regex.pattern

      Match Object:

        match.expand(template)

        match.group([group1,...])

        match.groups(default=None)

        match.groupdict(default=None)

        match.start([group])  返回匹配开始位置

        match.end([group])  返回匹配结束位置

        match.span([group])  返回包含匹配起始结束位置的二元组

        match.pos

        match.endpos

        match.lastindex

        match.lastgroup

        match.re

        match.string

  • 相关阅读:
    ES6-Generator
    ES6-Iterator & for...of循环
    ES6-Proxy and Reflect
    在Main中定义student的结构体,进行年龄从大到小依次排序录入学生信息。(结构体的用法以及冒泡排序)
    函数的调用(取两个整型变量中的最大值)
    将一个字符串数组的元素的顺序进行翻转。。
    枚举类型练习
    利用Arraylist输入学生的成绩,求出平均分和总分。
    简单的推箱子游戏(利用数组)
    枚举类型的声明
  • 原文地址:https://www.cnblogs.com/book-book/p/5429184.html
Copyright © 2020-2023  润新知