re.sub()

re是regular expression的所写,表示正则表达式

sub是substitute的所写,表示替换;

re.sub是个正则表达式方面的函数,用来实现通过正则表达式,实现比普通字符串的replace更加强大的替换功能;

举个最简单的例子:

如果目标字符串比较简单,如下操作就可以了:

string = "hello 111 world"
string.repalce(‘111‘,‘‘)print string

结果为(注意,这里hello和world中间是两个空格):

hello  world 

但是如果比较复杂,比如:

这种情况的时候正则更有用。 记得是 \ 啊

对于输入的一个字符串,利用正则表达式(的强大的字符串处理功能),去实现(相对复杂的)字符串替换处理,然后返回被替换后的字符串

re.sub共有五个参数。

其中三个必选参数:patternreplstring

两个可选参数:countflags

第一个参数: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