请注意,如果未使用可调用的替换功能:
- 您需要提前查询,因为如果后面跟着,则不能匹配
$
- 您需要向后看,因为如果后面有前缀,则不能匹配
$
不那么优雅,但这是很容易理解的:
>>> def dollar_repl(matchobj):... val = matchobj.group(0)... if val == '$':... val = 'z'... return val... >>> import re>>> s = '$a $$b $$$c $d'>>> re.sub('$+', dollar_repl, s)'za $$b $$$c zd'


