正则
规律性截取
正则常用函数
match
re.match(pattern, string, flags=0)
pattern:匹配的正则表达式
string:要匹配的字符串
flag:标志位,用于控制正则表达式的匹配方式(是否匹配大小写、多行匹配等)
作用:match()函数只在字符串的开始位置尝试匹配正则表达式,即从位置0开始匹配。如果匹配成功,则返回一个匹配的对象;如果字符串开始不符合正则表达式,则匹配失败,函数返回None。
search
re.search(pattern, string[, flags])
re.search()匹配整个字符串,直到找到第一个匹配的,如果字符串中没有匹配的,则返回None。
findall()
re.findall(pattern,string,flags)
re.findall()可以获取字符串中所有匹配的字符串
findall()找到re匹配的所有子串,并把它们作为一个列表返回
finditer()找到re匹配的所有子串,并把它们作为一个迭代器返回,这个匹配是从左到右有序地返回。如果无匹配,返回空列表。用for 循环出匹配到值。
sub()
re.sub(pattern,repl,string,count,flags)
pattern:匹配的正则表达式
repl:替换的字符串
String:要被查找替换的原始字符串
count:匹配后替换的最大次数,默认0表示途欢所有的匹配
re.sub()函数用于替换字符串中的匹配项。
subn()
re.subn(pattern, repl, string, count=0, flags=0)
与sub()实现相同的替换作用,但是subn()返回一个元组,其中包含新字符串和替换次数!
spilt() 分割
re.split(pattern, string, maxsplit=0, flags=0) ——> list
根据模式的匹配项来分割字符串!
re.compile()
re.compile(pattern,flags=0) ——> pattern object
根据包含正则表达式的字符串创建模式对象,可以实现更有效率地匹配!用了re.compile以后,正则对象会得到保留,这样在需要多次运用这个正则对象的时候,效率会有较大的提升
此外,re.cpmpile() 可以通过接受可选的属性,常用来实现不同的特殊功能和语法变更。