就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
(1)元字符
. :除换行符以外的任意符号,re.S
模式也可以使 . 匹配包括换行在内的所有字符
^:匹配字符串的开头
$:匹配字符串的末尾。
*:匹配0个或多个的表达式。默认贪婪模式
+:匹配1个或多个的表达式。默认贪婪模式
?:匹配0个或1个由前面的正则表达式,默认非贪婪模式
{ n,m}:匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式
[ ]:字符集,多个字符选其一,[^...
]取反
|:匹配做正则表达式或右边正则表达式
( ):G匹配括号内的表达式,也表示一个组
\:转移符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
import re
|
(2)正则方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import re
|
练习:爬虫豆瓣网
1
2
3
4
5
6
|
com=re.compile(
'<div class="item">.*?<div class="pic">.*?<em .*?>(?P<id>\d+).*?<span class="title">(?P<title>.*?)</span>'
'.*?<span class="rating_num" .*?>(?P<rating_num>.*?)</span>.*?<span>(?P<comment_num>.*?)评价</span>',
re.S)
com.findall(s)
|