美文网首页
python正则表达

python正则表达

作者: 992134d3a7cd | 来源:发表于2021-12-27 00:12 被阅读0次

    Python正则表达式,请不要再用re.compile了!!! - 知乎

    驳 《Python正则表达式,请不要再用re.compile了!!!》 - 知乎

    1

    2

    正则表达式适用于字符,而不是单词

    re模块

    pattern: 正则模型
    string : 母字符串
    flags : 匹配模式

    re.compile(pattern, flags=0)
    将正则表达式的样式编译为一个 正则表达式对象 (正则对象),
    然后通过这个对象,调用方法 match(), search()等

    prog = re.compile(pattern)
    result = prog.match(string)
    等价于
    result = re.match(pattern, string)

    通过 re.compile() 编译后的样式,和模块级的函数会被缓存,让程序更加高效。
    使用 re.compile() 和保存这个正则对象可以复用

    re.match(pattern, string[, flags])
    从首字母开始开始匹配,string如果包含pattern子串,则匹配成功,返回Match对象,失败则返回None,若要完全匹配(pattern=string),pattern要以$结尾。
    对最大匹配,到尾部

    my_string= '平安银行股份有限公司信息科技中心平安银行股份有限公司'
    regular_v3 = re.match('(.*银行股份有限公司)', my_string)
    得到'平安银行股份有限公司信息科技中心平安银行股份有限公司'

    match() 方法一旦匹配成功,就是一个match object对象,该对象有以下方法:
    group() 返回被 RE 匹配的字符串
    start() 返回匹配开始的位置
    end() 返回匹配结束的位置
    span()返回一个元组包含匹配 (开始,结束) 的位置

    re.search(pattern, string[, flags])
    若string中包含pattern子串,则返回Match对象,否则返回None,如果string中存在多个pattern子串,只返回第一个。

    re.findall(pattern, string[, flags])
    返回string中所有与pattern相匹配的全部字串,返回形式为数组。

    re.split(pattern, string, maxsplit=0, flags=0)
    用 pattern 分开 string 。最多进行 maxsplit 次分隔

    Python中re的match、search、findall、finditer区别 - xushukui - 博客园

    相关文章

      网友评论

          本文标题:python正则表达

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