zoukankan      html  css  js  c++  java
  • python正则表达式(6)--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'

  • 相关阅读:
    SqlServer该如何合适的索引
    SqlServer该如何合适的索引
    SQLServer跨库查询分布式查询
    SQLServer跨库查询分布式查询
    sqlserver 字符串能不能执行
    WPF添加类库并引用
    StringUtils类常用方法
    如何理解.NET开发中的x86/x64/AnyCPU
    JS获取url参数
    MySQL CONCAT函数:字符串拼接
  • 原文地址:https://www.cnblogs.com/zeke-python-road/p/9583814.html
Copyright © 2011-2022 走看看