python 正则表达式
发布时间:2020-12-15 00:23:43 所属栏目:C语言 来源:网络整理
导读:table class="python" tr class="li1" td class="ln"pre class="de1"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 59 60 61 6
<table class="python"> |
<tr class="li1">
<td class="ln"><pre class="de1">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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
..函数
? 语法:.pattern flags
? . 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match就返回none。
? 函数中变量含义:
? ? ?pattern? ? 匹配的正则表达式
? ? ? ? ? ? ? 要匹配的字符串。
? ? ?flags? ? ? ? ? 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
? ? ?
? 匹配对象方法? ? 描述
? groupnum? 匹配的整个表达式的字符串,group 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
? groups? ? ? 返回一个包含所有小组字符串的元组,从 到 所含的小组号。
?
?
..函数
? 语法:.pattern flags
? pattern ? ? ? 匹配的正则表达式
? ? ? ? ? 要匹配的字符串。
? flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
?
? 配对象方法 ? ? ? ? ? ? ? ? ? 描述
? groupnum? 匹配的整个表达式的字符串,group 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
? groups? ? ? ? ? 返回一个包含所有小组字符串的元组,从 到 所含的小组号。
?
..与.的区别
? .只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回;而.匹配整个字符串,直到找到一个匹配。
实例:
?
line
?
matchObj . r line .|.
matchObj:
? ? matchObj.group() : " matchObj.
:
? ?
?
matchObj . r .|.
matchObj:
? ? matchObj.group() : " matchObj.
:
? ?
?
执行结果:
No match
search -- matchObj. : world
? ?
修饰符 ? ? ? 描述
.? ? 使匹配对大小写不敏感
.? ? 做本地化识别(locale-aware)匹配
.? ? 多行匹配,影响 ^ 和 $
.? ? 使 . 匹配包括换行在内的所有字符
.? ? 根据Unicode字符集解析字符。这个标志影响 w W b B.
.? ? 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。
? ?
..函数
? 语法:.pattern repl
? ?
? ?
.正则表达式特殊字符:
特殊字符类
实例? 描述
. ? ? ? 匹配除 " 之外的任何单个字符。要匹配包括 ' 在内的任何字符,请使用象 ]' 的模式。
d? ? ? 匹配一个数字字符。等价于 -。
D? ? ? 匹配一个非数字字符。等价于 ^-。
s? ? ? 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 fnrtv。
S? ? ? 匹配任何非空白字符。等价于 ^ fnrtv。
w? ? ? 匹配包括下划线的任何单词字符。等价于。
W? ? ? 匹配任何非单词字符。等价于 。
?
字符类:
^baidu? ? ? ? 除了baidu字母以外的所有字符
^-? ? ? 匹配除了数字外的字符
?
?
.正则表达式的匹配模式(pattern):
? ? 模式? ? ? 描述
^ ? ? ? 匹配字符串的开头
$ ? ? ? 匹配字符串的末尾。
. ? ? ? 匹配任意字符,除了换行符,当.标记被指定时,则可以匹配包括换行符的任意字符。
... ? 用来表示一组字符单独列出:amk 匹配 ,或
^...? 不在中的字符:^abc 匹配除了abc之外的字符。
* ? ? 匹配个或多个的表达式。
+ ? ? 匹配个或多个的表达式。
? ? ? 匹配个或个由前面的正则表达式定义的片段,非贪婪方式
n?
n 精确匹配n个前面表达式。
n m ? ? ? 匹配 n 到 m 次由前面的正则表达式定义的片段,贪婪方式
a| b? ? 匹配a或b
? ? G匹配括号内的表达式,也表示一个组
?imx? 正则表达式包含三种可选标志:i m 或 x 。只影响括号中的区域。
?-imx 正则表达式关闭 i 或 x 可选标志。只影响括号中的区域。
?: 类似 ... 但是不表示一个组
?imx: ? ? ? 在括号中使用i 或 x 可选标志
?-imx: ? ? 在括号中不使用i 或 x 可选标志
?
? 前向肯定界定符。如果所含正则表达式,以 ... 表示,在当前位置成功匹配时成功,否则失败。但一旦所含表达式已经尝试,匹配引擎根本没有提高;模式的剩余部分还要尝试界定符的右边。
? 前向否定界定符。与肯定界定符相反;当所含表达式不能在字符串当前位置匹配时成功
? 匹配的独立模式,省去回溯。
w? ? ? 匹配字母数字及下划线
W? ? ? 匹配非字母数字及下划线
s? ? ? 匹配任意空白字符,等价于 tnrf.
S? ? ? 匹配任意非空字符
d? ? ? 匹配任意数字,等价于 -.
D? ? ? 匹配任意非数字
A? ? ? 匹配字符串开始
Z? ? ? 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。c
z? ? ? 匹配字符串结束
G? ? ? 匹配最后匹配完成的位置。
b? ? ? 匹配一个单词边界,也就是指单词和空格间的位置。例如, ' 可以匹配 中的 ,但不能匹配 中的 。
B? ? ? 匹配非单词边界。' 能匹配 中的 ,但不能匹配 中的 。
n t 等.? ? 匹配一个换行符。匹配一个制表符。等
... 匹配第n个分组的子表达式。
? ? 匹配第n个分组的子表达式,如果它经匹配。否则指的是八进制字符码的表达式。
?
?
? ?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!