美文网首页
python正则表达式

python正则表达式

作者: Lyuao | 来源:发表于2022-04-21 22:54 被阅读0次

    import re
    1、从字符串的起始位置匹配a,没有返回None.
    re.match('a', 'abc', flags=0)
    2、扫描整个字符串并返回第一个成功的匹配,没有返回None
    re.search('a', 'bacs', flags=0)
    re.search('a', 'gha', flags=0) .span()返回索引(2,3)

    import re
    a='adfhf1425354647!@#$%^&bhsdassdh$%^&12.4.4.6hffh'
    b=re.match('adf',a,flags=0)
    

    输出:

    adf
    fhf
    (2, 3)
    [Finished in 174ms]
    

    3、替换字符串中的匹配项
    re.sub(pattern, repl, string, count=0, flags=0)
    repl : 替换的字符串,也可为一个函数。
    count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。)

    import re
    print(re.sub('a', 'A', 'dfggakda', count=0, flags=0))
    

    输出:

    dfggAkdA
    [Finished in 203ms]
    

    4、re.compile(pattern[, flags])

    import re
    pattern=re.compile(r'\d+')
    print(pattern.search('dhfdj454jfnfjfgnj456nj34556njdnjdnsksd22').group())
    

    输出:

    454
    [Finished in 181ms]
    

    5、在字符串中找到正则表达式所匹配的所有子串,并返回一个列表
    findall(string[, pos[, endpos]])
    example1:

    print(pattern.findall('dhfdj454jfnfjfgnj456nj34556njdnjdnsksd22'))
    

    返回

    ['454', '456', '34556', '22']
    [Finished in 216ms]
    

    example2:

    import re
    print(re.findall(r'(\d+).(\d+).(\d+).(\d+)','fdgdfhhg12.3.5.65fjfjfj10rjrj23.3.12.5kfkk34.5.6.5.5'))
    

    输出:

    [('12', '3', '5', '65'), ('23', '3', '12', '5'), ('34', '5', '6', '5')]
    [Finished in 222ms]
    

    相关文章

      网友评论

          本文标题:python正则表达式

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