0%

python re 模块

python 中 re 模块。

re

这里还要引入我的另一篇正则表达式博文。

正则表达式

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
import re : python正则表达式模块
一次性函数:
re.search(pattern,string,flags = 0) 返回match对象
在一个字符串中查找匹配,匹配第一个位置,只能查找一个
flags:正则表达式使用时的控制标记,有三个
re.I 忽略正则表达式中的大小写,[A-Z]可以匹配小写字符
re.M 正则表达式中^操作符能够将给定的字符串每行当做匹配的开始
re.S 正则表达式中的.操作符能够匹配所有字符,除了换行符
re.match(pattern,string,flags = 0) 返回match对象

re.findall(pattern,string,flags = 0)
找到匹配,返回所有匹配部分的列表,能查找所有

re.split(pattern,string,maxspilt = 0,flags = 0)
根据匹配分割字符串,返回列表类型
maxspilt: 最大分割数,剩余部分作为最后一个元素输出

re.finditer(pattern,string,flags)
搜索字符串,返回一个匹配结果的迭代类型,每个迭代元素是match对象

re.sub(pattern,repl,string,count=0,flags=0)
将字符串中匹配正则表达式的部分替换为其他值
repl:替换匹配字符串的字符串
string: 待匹配的字符串
count:匹配的最大替换次数

面向对象用法,编译后多次操作,上面的都属于一次性用法,正则表达式只能用一次

re.compile(pattern,flags = 0)
将正则表达式的字符串形式编译成正则表达式对象

pat = re.compile(r'immoc') 以 immoc 为开头,compile 是创建一个 pattern 加 r 代表是一个源字符串
r'immoc\n') = ('immoc\\n')

ret = pat.search('待搜索的字符串')
同样也可以调用sub,spilt等等上述一次性函数

match对象用法
一次匹配的结果
属性
string 待匹配的文本
re 匹配时使用的pattern对象(正则表达式)
pos 正则表达式搜索文本的开始位置
endpos 正则表达式搜索文本的结束位置

方法
group(0) 获得匹配后的字符串
其他group()用法参考正则表达式
start() 匹配字符串在原始字符串的开始位置
end() 匹配字符串在原始字符串的结束位置
span() 返回(start(),end())
请我喝杯咖啡吧~