python正则表达式常用4个方法总结说明
正则表达式只针对字符串,进行各种操作的
用途:
1、匹配 - 符合规则的字符串,则认为匹配了。
2、提取 - 提取出符合规则的字符串。
python中通过re模块来处理正则表达式。re模块的常用方法如下:
re.match(re规则,字符串):从头开始匹配。从字符串的第一个字符开始匹配,如果第一个字符不匹配规则,那么匹配失败。
re.search(re规则,字符串):匹配包含。不要求从字符串的第一个字符就匹配。只要字符串当中有匹配该规则的,则就匹配成功。
re.findall(re规则,字符串):把所有匹配的字符放在列表中并返回。
re.sub(re规则,替换串,被替换串):匹配字符并替换。
re.subn(re规则,替换串,被替换串):匹配字符并替换,返回元组类型(替换后的字符串,被替换次数)
1、匹配1个字符
. 除换行符以外的所有字符 \n
\d 只匹配数字0-9
\D 匹配非数字
\w 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”, 支持中文
\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”
[a-z] 匹配小写字母
[A-Z] 匹配大写字母
[0-9] 匹配数字
[abcd] 字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”
[a|b] 匹配x或y(单字符)。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”
2、数量匹配
* 匹配前一个字符,0次或者多次
+ 匹配前一个字符,1次或者多次
? 匹配前一个字符,0次或1次
{n} 匹配前一个字符n次
{n,m} 匹配前一个字符最少是n次,最多是m次
{n,} 匹配前一个字符最少是n次,没有下限。
贪婪模式: 尽可能的匹配更多更长
非贪婪模式: 尽可能的匹配更少 在数量表达后面加上?
3、边界匹配:
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
4、匹配分组:()
#(\w+?)#
#(\w+)#
#(.+?)#
另外,subn()方法举例
aa ="kkk"
bb ='kkknnkkkookkk'
c =re.subn(aa,'***',bb )
print(c)
文章转载https://www.cnblogs.com/Simple-Small/p/9150947.html#4005587