Python爬虫-正则表达式入门
正则表达式简介
正则表达式:用于描述特定字符串模式的表达式。元字符为M1, M2, ...,数量修饰符为N1, N2, ...
常见正则表达式形式则为M1N1M2N2...
| 元字符 | 含义 | 
|---|---|
| . | 处\n外任意字符 | 
| [0-9] | 数字 | 
| [A-Z] | 大写字母 | 
| [a-z] | 小写字母 | 
| [0-9a-zA-Z] | 数字或字母 | 
| \d | 数字 | 
| \w | 字母 | 
| \s | 空白符 | 
| \需转义字符 | 需转义字符 | 
| a | a | 
| ab1 | ab1 | 
| 12 | 12 | 
| 数量修饰符 | 含义 | 
|---|---|
| {n} | 重复n次 | 
| {m, n} | 重复m-n次 | 
| * | 重复0,1或任意次 | 
| + | 重复1或任意次 | 
| ? | 重复0次或1次 | 
| 位置修饰符 | 含义 | 
|---|---|
| ^ | ^\d表示以一个数字开头 | 
| $ | \w$表示以一个字母结尾 | 
技巧
- 在正则表达式中加入()来提取子串。如:将a(\d{3})a作用到a111a上面会得到111。
- 正则表达式默认为贪婪匹配(能匹配的结果中取最长那个)。若要切换到非贪婪匹配则在数量修饰符后加上?。
- .*代表任意长度的字符,默认匹配最大长度的字符串。- .*?同上,但匹配最小长度的字符串。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Silent Wittgenstein!








