python中re.sub使用

先看帮助文档:

Help on function sub in module re:

sub(pattern, repl, string, count=0, flags=0)
    Return the string obtained by replacing the leftmost
    non-overlapping occurrences of the pattern in string by the
    replacement repl.  repl can be either a string or a callable;
    if a string, backslash escapes in it are processed.  If it is
    a callable, it's passed the match object and must return
    a replacement string to be used.

基本意思就是从最左面替换匹配的正则表达式, 如果repl是字符串则替换成对应的字符串, 如果是可调用的, 将传一个match对象到里面, 需要返回一个string替换匹配的表达式

举下面一个例子:

# -*- coding: utf-8 -*-
import re

s = u'1990年3月27日'

def replace_digit(m):
    ss = u'〇一二三四五六七八九'
    index = int(m.group())
    return ss[index]

result = re.sub(u'\d', replace_digit, s, count=4)

print(result)

输出结果:

一九九〇年3月27日

你可能感兴趣的:(python中re.sub使用)