在编辑软件下,用正则匹配很容易做到正则替换
举个例子:
我今天心情不错,看了一段“搞笑游戏”视频,写一篇“有趣的文章”
查找所有双引号,改为书名号
查询(“)(.*?)(”)
替换《$2》
结果:
我今天心情不错,看了一段《搞笑游戏》视频,写一篇《有趣的文章》
在python下可以用三种方式来实现这个替换:
1. 使用函数
def match_replaceQuote(matchObj):
return u'《%s》'%matchObj.group(2)
content = re.sub(u'(“.*”)', match_replaceQuote, content)
2. 使用lambda表达式
content = re.sub(u'(“.*”)', lambda a:u'《%s》'%a.group(2), content)
3. 使用正则结果
content = re.sub(u'(“.*”)', u'《\\2》 ', content)
注意在使用正则替换中文时不能带r正则标识符,这时内部的\2变量参数必须再转译为'\2'才可以用于替换