此方法使用repl替换所有出现在RE模式的字符串,替换所有出现,除非提供max。此方法返回修改的字符串。
示例 import re line = \'i can speak good english\' speak = re.sub(r\'can\',\'not\',line) print(speak) speak1 = re.sub(r\'\s\',\'\',line) #替换所有空格 print(speak1) 特殊语法示例 字符类 编号 示例 说明1 [Pp]ython 匹配“Python”或“python”
2 rub[ye] 匹配“ruby”或“rube”
3 [aeiou] 匹配任何一个小写元音
4 [0-9] 匹配任何数字; 如[0123456789]
5 [a-z] 匹配任何小写ASCII字母
6 [A-Z] 匹配任何大写的ASCII字母
7 [a-zA-Z0-9] 匹配上述任何一个
8 [^aeiou] 匹配除小写元音之外的任何东西
9 [^0-9] 匹配数字以外的任何东西
特殊字符类 编号 示例 说明
1 . 匹配除换行符以外的任何字符
2 \d 匹配数字:[0-9]
3 \D 匹配非数字:[^0-9]
4 \s 匹配空格字符:[\t\r\n\f]
5 \S 匹配非空格:[^\t\r\n\f]
6 \w 匹配单字字符: [A-Za-z0-9_]
7 \W 匹配非单字字符: [A-Za-z0-9_]
重复匹配 编号 示例 说明
1 ruby? 匹配“rub”或“ruby”:y是可选的
2 ruby* 匹配“rub”加上0个以上的y
3 ruby+ 匹配“rub”加上1个或更多的y
4 \d{3} 完全匹配3位数
5 \d{3,} 匹配3位或更多位数字
6 \d{3,5} 匹配3,4或5位数
非贪婪重复
这匹配最小的重复次数 -
编号 示例 说明1 <.*> 贪婪重复:匹配“ perl>”
2 <.*?> 非贪婪重复:在“ perl”中匹配“”
用圆括号分组 编号 示例 说明
1 \D\d+ 没有分组:+重复\d
2 (\D\d)+ 分组:+重复\D\d对
3 ([Pp]ython(,)?)+ 匹配“Python”,“Python,python,python”等
反向引用
这与以前匹配的组再次匹配 -
编号 示例 说明1 ([Pp])ython&\1ails 匹配python和pails或Python和Pails
2 ([\'"])[^\1]*\1 单引号或双引号字符串。\1匹配第一个分组匹配。 \2匹配任何第二个分组匹配等
3 python perl
4 rub(y le)
5 Python(!+ ?)
锚点