今天继续正则表达式。
模块re的一些重要函数:
函数 | 作用 |
---|---|
compile(pattern[,flags]) | 根据包含正则表达式的字符串创建模式对象 |
search(partten,string[,flags]) | 在字符串中查找模式 |
match(pattern,string[,flags]) | 在字符串开头匹配模式 |
split(partten,string[,maxsplit=0]) | 根据模式匹配字符串 |
findall(partten,string) | 返回一个列表,其中包含字符串中所有与模式匹配的子串 |
sub(pat,repl,string[,count=0]) | 将字符串中所有模式匹配pat的子串替换为repl |
escape(string) | 对字符串中所有正则表达式特殊字符进行转义 |
re.split使用正则表达式指定分隔符,返回子串列表。maxsplit指定最多分割多少次(不填为无数次):
import re
a="foo,bar,max,,,,xxx,yyy,zzzz"
print(re.split("[, ]+",a,maxsplit=4))
re.pat使用示例:
import re
pat="[a-zA-Z]+"
a="foo,bar,Max,,,,x'xx,YYHGF,??zzzz----"
print(re.findall(pat,a))
print(re.findall("[.?\\-,]+",a))
匹配对象和编组
模式的哪部分与子串的哪部分匹配的信息成为编组。
例如:r”www.(.+).com$”的编组0是整个字符串,编组1是www. 和 .com中间的内容。
函数 | 作用 |
---|---|
group([group1,······]) | 获取与给定子模式(编组)匹配的字符串 |
start([group]) | 返回与给定编组匹配的子串的起始位置 |
end([group]) | 返回与给定编组匹配的子串的终止位置 |
span([group]) | 返回与给定编组匹配子串的起始和终止位置 |