python之正则之路
一:正则介绍
1,re的介绍
正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns)本质上是一个微小的且高度专业化的编程语言;正则表达式模式被编译成一系列的字节码,然后由一个 C 语言写的匹配引擎所执行。
注释: Python 的正则表达式引擎是用 C 语言写的,所以效率是极高的。另,所谓的正则表达式,这里说的 RE,就是上文我们提到的“一些规则”
2,常见任务字符匹配
元字符介绍
有少数特殊的字符,它们并不能匹配自身,它们定义了字符类、子组匹配和模式重复次数等-------. ^ $ * + ? { } [ ] \ | ( )
元字符–[ ]
[ ]: 它们指定一个字符类用于存放你需要匹配的字符集合。
[ ]使用方法: 可以单独列出需要匹配的字符,也可以通过两个字符和一个横杆 - 指定匹配的范围。例如 [abc] 会匹配字符 a,b 或 c;[a-c] 可以实现相同的功能。后者使用范围来表示与前者相同的字符集合。如果你想只匹配小写字母,你的 RE 可以写成 [a-z]
注意:
元字符在方括号中不会触发“特殊功能”,在字符类中,它们只匹配自身。例如 [akm ] 会匹配任何字 符 ′ a ′ , ′ k ′ , ′ m ′ 或 ′ ] 会匹配任何字符 'a','k','m' 或 ' ]会匹配任何字符′a′,′k′,′m′或′‘,’ ′ 是一个元字符,但在方括号中它不表示特殊含义,它只匹 配 ′ ' 是一个元字符,但在方括号中它不表示特殊含义,它只匹配 ' ′是一个元字符,但在方括号中它不表示特殊含义,它只匹配′’ 字符本身。
元字符-- \
\ : 反斜杠后边跟元字符去除特殊功能,反斜杠后边跟普通字符实现特殊功能
如果在反斜杠后边紧跟着一个元字符,那么元字符的“特殊功能”也不会被触发。例如你需要匹配符号 [ 或 \,你可以在它们前面加上一个反斜杠,以消除它们的特殊功能:[,\
**注意:**re.ASCII 标志使得 \w 只能匹配 ASCII 字符,Python3 是 Unicode 的ÿ