正则表达式
正则表达式本身是一种小型的、高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序员们可以直接调用来实现正则匹配。正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行。
反斜杠后边跟普通字符实现特殊功能;(即预定义字符)
预定义字符是在字符集和组里都是有用的
\d匹配任何十进制数,它相当于类[0-9]
\d+如果需要匹配一位或者多位数的数字时用
\D匹配任何非数字字符,它相当于类[^0-9]
\s匹配任何空白字符,它相当于类[\t\n\r\f\v]
\S匹配任何非空白字符,它相当于类[^\t\n\r\f\v]
\w匹配包括下划线在内任何字母数字字符,它相当于类[a-zA-Z0-9_]
\W匹配非任何字母数字字符包括下划线在内,它相当于类[^a-zA-Z0-9_]
()元字符,分组
也就是分组匹配,()里面的为一个组也可以理解成一个整体
如果()后面跟的是特殊元字符如 (adc)* 那么*控制的前导字符就是()里的整体内容,不再是前导一个字符
|元字符,或
|或,或就是前后其中一个符合就匹配
r原生字符
将在python里有特殊意义的字符如\b,转换成原生字符(就是去除它在python的特殊意义),不然会给正则表达式有冲突,为了避免这种冲突可以在规则前加原始字符r