zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/book-book/p/5429184.html
Copyright © 2011-2022 走看看