正则表达式以及re库
2019-05-20 本文已影响0人
Cease息事
正则表达式
. 可以代表任意字符(换行、空格、翻页符除外)
^a 表示a字母开头
[^a-c] 表示该字符非a\b\c
a? 字母a出现0或1次
a+ 表示字母a出现1次及以上
a* 表示字母a出现0次或以上
{n} 表示匹配前一个字符n次; ex: {2}可以匹配pool,但不匹配pop
{n,} 表示前一个字符至少匹配n次
{n,m} 表示最少匹配n次 最多m次;
? 非贪婪模式; 用于修饰+,*,{}; 进行最短匹配;
a|b 匹配a或者b
[xyz] 字符集合匹配任意一个字符
[^xyz] 负值字符集合,匹配非xyz
\b 匹配单词边界 ex:'er\b' 可以匹配driver中的'er','\bdri' 可以匹配drive中的'dri'
\B 匹配非边界 ex:'er\B'可以匹配verb中的'er',但不能匹配driver中的'er'
\d 匹配数字 等价[0-9]
\D [^0-9]
\w [A-Za-z0-9_]
\W [^A-Za-z0-9_]
re库
re库是python标准库;使用前import re
re库的几个方法:
方法 | 作用 |
---|---|
re.search() | 搜索匹配的第一个字符 返回match对象 |
re.match() | 从开始位置搜索匹配的对象并返回match对象,若开头不是匹配的对象则返回None; |
re.findall() | 搜索所有匹配对象并返回一个列表 |
re.finditer() | 搜索所有匹配项,并返回;每一个返回值都是一个match |
re.sub() | 用一个字符串替换所匹配项,返回替换后的字符串 |
re.split() | 切割匹配对象,返回剩余对象;默认全切,可加参数;返回列表 |