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!