python中的re模块

作者: Tim在路上 | 来源:发表于2018-10-28 19:07 被阅读1次

    如何用Python来进行查询和替换一个文本字符串?

    可以使用re模块中的sub()函数或者subn()函数来进行查询和替换,
    格式:sub(replacement, string[,count=0])(replacement是被替换成的文本,string是需要被替换的文本,count是一个可选参数,指最大被替换的数量)

    >>> import re
    >>>p=re.compile(‘blue|white|red’)
    >>>print(p.sub(‘colour’,'blue socks and red shoes’))
    colour socks and colourshoes
    >>>print(p.sub(‘colour’,'blue socks and red shoes’,count=1))
    colour socks and redshoes
    print(p.subn('colour','blue socks and red shoes'))
    ('colour socks and colour shoes', 2)
    print(p.subn('colour','blue socks and red shoes',count=1))
    ('colour socks and red shoes', 1)
    

    subn()方法执行的效果跟sub()一样,不过它会返回一个二维数组,包括替换后的新的字符串和总共替换的数量

    Python里面match()和search()的区别?

    re模块中match(pattern,string[,flags]),检查string的==开头==是否与pattern匹配,这个是全匹配,但是只要是在开头匹配就行。
    re模块中re.search(pattern,string[,flags]),在string搜索pattern的第一个匹配值,而且是对当前的字符串的全匹配。

    <_sre.SRE_Match object; span=(0, 5), match='super'>
    >>>print(re.match(‘super’, ‘superstition’).span())
    (0, 5)
    >>>print(re.match(‘super’, ‘insuperable’))
    None
    >>>print(re.search(‘super’, ‘superstition’).span())
    (0, 5)
    >>>print(re.search(‘super’, ‘insuperable’).span())
    (2, 7)
    print(re.search('super','msuperstition'))
    <_sre.SRE_Match object; span=(1, 6), match='super'>
    
    正则表达式.jpeg

    相关文章

      网友评论

        本文标题:python中的re模块

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