正则
1、什么是正则:
正则就是一些特殊符号及文本组合在一起用来描述字符或字符串的一些规则。在Python中,正则使用 re 模块。
2、特殊符号和字符:
匹配一个范围 [] :[A-Z]; eg: a[a-z]c : abc aac adc ;
匹配前面的正则表达式任意多次,包括0次 * :[abc]* eg : a* ' ' , a ,aaa;
匹配前面的正则表达式0次或1次 ? : .?* ; eg: a? ‘ ’, a ;
匹配前面的正则表达式一次或多次 + : a+ ; eg: a a , aa ;
匹配键盘上任意字符(“\n”除外) . eg : a.b a;b aab ;
\d :匹配任意数字;
\s :任何空白符 \n\t\r\v\f ;
\w :匹配任何数字、字母、字符 ;
^ : 若在范围【】中表示否定 ,若是以^开头则表示^后字符开头的字符串; eg : ^a abc acc adc
$ :匹配结尾 eg : a$ bhdjxa injga
组件:()
可以将一些规则结合起来,例如 .* ,即为匹配任意字符0次或多次。
3、正则模块
re.compile(pattern):编译正则表达式;
re.match(pattern,string):从pattern中匹配string,失败返回None,成功可用group函数获取匹配到的值;此处应当注意只有string中开头和pattern是相同的才会开始匹配;
re.search(pattern,string):返回字符串中正则表达式的第一次出现;
re.findall(pattern,string):返回字符串中正则表达式pattern所有(非重复)出现,并且总是返回一个列表;
re.sub(str1,str2,str3)
re.subn(str1,str2,str3)
str1:要替换的字符串;
str2:替换成什么;
str3:在哪个字符串中替换;
两个都可以实现搜索和替换,但subn函数会返回一个替换的总数;