python 基础 8.1 r 正则对象
一. r 正则对象
1. 正则匹配总写一个r 是什么意思
r 表示raw的简写及raw string 意思是原生字符,也就是这个字符串中间的特殊字符不用转义。比如你要表示‘\n’ ,可以这样: r'\n'.。但是如果你不用原生字符,而是用字符串,你得这样:‘\\n’
2. re.compile(pattern[,flags])
这个方法就是将字符串的正则表达式编译成正则对象,第二个参数flag是匹配模式,取值可以使用安位或者运算符 “|” 表示同时生效,比如: re.l | re.M, flag的可选值有:
re.l(re.lGNORECASE): 忽略大小写(括号内饰完整写法,下同)
M(MULTILINE):多行模式,改变‘^’ 和 ’$‘ 的行为
S(DOTALL):点任意匹配模式,改变 '.' 的行为
L(LOCALE):是预定字符类 \w \W \b \B \s \S 取决于当前区域设定
U(UNICODE): 是预定字符类 \w \W \b \B \s \S \d \D 取决于unicode 定义的
字符属性
X(VERBOSE):详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。以下两个正则表达式是等价的:
a = re.compile(r"""\d + # the integral part
\. # the decimal point
\d * # some fractional digits""", re.X)
b = re.compile(r"\d+\.\d*")