• python正则表达式split、sub、escape方法


    1.re.split

    语法:

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

    参数:

      pattern    匹配的正则表达式

      string      要匹配的字符串。

          maxsplit  分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。

    >>>import re

    >>> re.split('\W+', 'runoob, runoob, runoob.')

    ['runoob', 'runoob', 'runoob', '']

    (1)以分组为分割符的时候,分组内容也会被保存下来

    >>> re.split('(\W+)', ' runoob, runoob, runoob.')

    ['', ' ', 'runoob', ', ', 'runoob', ', ', 'runoob', '.', '']

    >>> re.split('\W+', ' runoob, runoob, runoob.', 1)

    ['', 'runoob, runoob, runoob.']

    (2)可同时使用多个分隔符,分隔符,和.都会被切割

    >>> re.split('[,\.]',r'hello,Tom.how are you')

    ['hello', 'Tom', 'how are you']

    (3)对于一个找不到匹配的字符串而言,split 不会对其作出分割

    >>> re.split('a*', 'hello world')

    ['hello world']

    2.sub方法

    语法:

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

      pattern.sub(repl, string[, count = 0])

    参数:

    • pattern : 正则中的模式字符串。
    • repl : 替换的字符串,也可为一个函数。
    • string : 要被查找替换的原始字符串。
    • count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

    1) 当repl是一个字符串

    可以使用\id或\g<id>、\g<name>引用分组,但不能使用编号0。

    2) 当repl是一个方法

    它必须传一个Match对象,并必须返回一个字符串用于替换(返回的字符串中不能再引用分组)。

    (2)subn方法

    这个函数跟sub函数用法差不多,只是它有一个额外的特征,结果是返回一个tuple,tuple第 一个元素是替换后的新字符串,第二个元素是替换的次数

    import re

    def add(m):

    v = int(m.group(0))

    return str(v + 1)

    p = re.compile("(\d+)")

    result = p.subn(add, "1 2 3 4 5")

    print result

    >>>('2 3 4 5 6', 5)

    3.re.escape方法

    可以将字符串中所有可能被解释为正则运算符的字符进行转译。

    >>> re.escape('www.python.org')

    'www\\.python\\.org'

  • 相关阅读:
    linux挂载windows共享文件夹
    Cython
    python并行编程
    数据库学习----MySQL 存储引擎
    数据库学习----MySQL 日志
    数据库学习----从文件l数据到数据库
    Golang 学习 ---- 编译打包
    数字转换成千字符
    el-select选择框宽度与输入框相同
    git常用命令总结
  • 原文地址:https://www.cnblogs.com/jinan1/p/10760873.html
Copyright © 2020-2023  润新知