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!







