@HarrisonHDU
2016-01-25T07:55:15.000000Z
字数 1043
阅读 544
架构
正则表达式匹配流程
在Python中, re.compile()即为编译步骤
Python支持的正则表达式元字符和语法
贪婪模式/非贪婪模式
Python默认是贪婪模式,即尝试匹配尽可能多的字符
ab* 查找 abbbc 将找到 abbb
ab*? 查找 abbbc 将找到 a
反斜杠转义符
正则表达式使用 \ 作为转义字符,那么python中需要4个\来表示转义符,建议使用原生字符串,即 r"\d" 来表示整数
匹配模式
re.compile(pattern[,flag]) flag可以指定忽略大小写(re.I)及多行匹配等模式, 当然这些也可以在pattern 中指定
re 模块
re.compile 方法编译Pattern对象,re也提供了与Pattern对象实例方法对应的模块方法,可以少写compile语句,但同时也无法复用编译后的Pattern对象
Match
re.match 方法返回Match对象
Pattern
是一个编译好的正则表达式,必须使用compile进行构造。
pattern.search(string[, pos[, endpos]]) | re.search(pattern, string[, flags])
查找字符串中可以匹配成功的子串,从string的pos下标处起尝试匹配pattern,如果pattern结束时仍可匹配,则返回一个Match对象;若无法匹配,则将pos加1后重新尝试匹配;直到pos=endpos时仍无法匹配则返回None。
match 与 search 的区别
match从字符串开始位置匹配,如果不符合则匹配失败返回None;search匹配整个字符串,直到找到一个匹配。