re是regular expression的所写,表示正则表达式
sub是substitute的所写,表示替换;
re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能;
举个最简单的例子:
如果目标字符串比较简单,如下操作就可以了:
string = "hello 111 world" string.repalce(‘111‘,‘‘)print string
结果为(注意,这里hello和world中间是两个空格):
hello world
但是如果比较复杂,比如:
这种情况的时候正则更有用。 记得是 \ 啊
对于输入的一个字符串,利用正则表达式(的强大的字符串处理功能),去实现(相对复杂的)字符串替换处理,然后返回被替换后的字符串
re.sub共有五个参数。
其中三个必选参数:pattern, repl, string
两个可选参数:count, flags
第一个参数:pattern
pattern,表示正则中的模式字符串
需要知道的是:
- 反斜杠加数字(\N),则对应着匹配的组(matched group)
- 比如\6,表示匹配前面pattern中的第6个group
- 意味着,pattern中,前面肯定是存在对应的,第6个group,然后你后面也才能去引用
比如,想要处理:
hello crifan, nihao crifan |
且此处的,前后的crifan,肯定是一样的。
而想要把整个这样的字符串,换成crifanli
则就可以这样的re.sub实现替换:
string = "hello fan, nihao fan" replaceStr = re.sub(r"hello (\w+), nihao \1","wb",string) print replaceStr
这样不对啊?什么情况?
第二个参数:repl
repl,就是replacement,被替换,的字符串的意思。
repl可以是字符串,也可以是函数。
第三个参数:string
string,即表示要被处理,要被替换的那个string字符串。
周末我估计我也不会写完,完犊子
时间: 2024-10-25 07:04:32