4.9 re
- re模块vs正则表达式
- 正则表达式
独立的一个东西和python是两个系统
- re
python的一个模块
正则表达式
做字符串匹配的一个规则,在编程界占据很重要的地位,尤其在python,因python擅长爬虫,爬虫需要对大量字符串数据进行处理。
- 关于等价
. [] ^ $四个字符是所有语言都支持的正则表达式,所以这四个是基础的正则表达式。
正则难理解因为里面有一个等价的概念,这个概念大大增加了理解难度,让很多初学者看起来会懵,如果把等价都恢复成原始写法,自己书写正则就超级简单了,就像说话一样去写你的正则了
通用基础字符
- 基本用法示例
[0135] 匹配单个0-3的数字
[0135][0135][0135] 匹配三个0-3的数字
[0-9] 匹配单个0-9的数字
[a-z] 匹配单个小写字母
[A-Z] 匹配单个大写字母
[0-9a-zA-Z] 匹配单个数字、小写字母、大写字母
- . 匹配除\r\n之外的任意字符
- []
- [字符组范围] 匹配符合字符组范围的单个字符
- 字符组 同一个位置上可以出现的字符的范围
-
- 放在表达式开头表示匹配字符串的开头
- 放在字符组内开头表示匹配不符合字符组范围的字符
- $
元字符
- \
- 转义符,与后面的字符组成固定、有特殊意义的匹配格式(\\匹配自身)
- \w 等价[A-Za-z_0-9]
- \W 等价[^A-Za-z_0-9]
- \s 等价[ ]
- \S 等价[^ ]
- \d 等价[0-9]
- \D 等价[^0-9]
- \n
- \t
- \b 等价\s+
-
- ()
- 将( ) 之间的表达式定义为“组”(group),最多9个,它们可以用 \1 到\9 的符号来引用
量词
- {n}
- {n,m}
- {n,}
- * 等价{0, }
- + 等价{1,}
- ? 等价{0,1}
- 贪婪匹配
- 非贪婪匹配
re模块方法