count用于指定最多替换次数,不指定时全部替换。 1 2 3 4
count用于指定最多替换次数,不指定时全部替换。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import re p = re. compile (r '(/w+) (/w+)' ) s = 'i say, hello world!' print p.sub(r '/2 /1' , s) def func(m): return m.group( 1 ).title() + ' ' + m.group( 2 ).title() print p.sub(func, s) ### output ### # say i, world hello! # I Say, Hello World! |
7.subn(repl, string[, count]) |re.sub(pattern, repl, string[, count]):
返回 (sub(repl, string[, count]), 替换次数)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import re p = re. compile (r '(/w+) (/w+)' ) s = 'i say, hello world!' print p.subn(r '/2 /1' , s) def func(m): return m.group( 1 ).title() + ' ' + m.group( 2 ).title() print p.subn(func, s) ### output ### # ('say i, world hello!', 2) # ('I Say, Hello World!', 2) |
以上就是Python对于正则表达式的支持。熟练掌握正则表达式是每一个程序员必须具备的技能,这年头没有不与字符串打交道的程序了。笔者也处于初级阶段,与君共勉,^_^
另外,图中的特殊构造部分没有举出例子,用到这些的正则表达式是具有一定难度的。有兴趣可以思考一下,如何匹配不是以abc开头的单词,^_^