美文网首页
正则表达式

正则表达式

作者: yepeng05 | 来源:发表于2018-11-27 17:14 被阅读0次

    re.compile(pattern, flags=0)

    编译正则表达式模式,返回的是一个RegexObject 对象。可以把那些常用的正则表达式编译成正则表达式对象,这样可以提高一点效率
    pattern: 编译时用的表达式字符串。
    flags: 编译标志位,用于修改正则表达式的匹配方式,例如是否区分大小写,多行匹配等
    
    # 编译的写法
    line = "Cats are smarter than dogs"
    rec = re.compile(r'(.*) are (.*?) .*',  re.M|re.I)
    # flags可以使用多个
    rec.findall(line)
    
    # 不编译的写法
    re.findall(r'(.*) are (.*?) .*', line)
    
    
    # 常用方法
    re.findall: 找到匹配的所有子串,并将它们作为一个列表返回
    re.finditer: 找到匹配的所有子串,并把它们作为一个迭代器返回
    
    re.match: 在开始位置匹配
    re.seach: 返回第一个成功的匹配,如果未匹配,则返回None
    re.findall: 
    
    re.split: 按照能够匹配的子串将 string 分割后返回列表,可以使用re.split来分割字符串,那么这种方式是可以支持多分隔符的,例如 re.split('\d+','one1two2three3four4five5') 将会返回 ['one', 'two', 'three', 'four', 'five', '']
    
    re.sub: 将替换后的结果返回
    
    groups与group: 参见 http://www.runoob.com/python/python-reg-expressions.html
    
    # 贪婪匹配与非贪婪匹配
    

    相关文章

      网友评论

          本文标题:正则表达式

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