`
zhouxi2010
  • 浏览: 51236 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

python的正则表达式作中文替换的一个例子

阅读更多

今天碰到一个需要中文替换的地方,开始直接用replace,后来发现不行,有些不应该被替换的也被替换了,后面改用正则表达式,也折腾了很久,这里特意记录一下.

示例如下:

a = '测试中文测试/中文,中文*中文测试'
b = '中文'

 要达到的效果是:

'测试中文测试/10,10*中文测试

由于是中文,直接用\b作界定符不行 

于是先用如下方法:

p = re.compile('(?P<pre>^|[/,\+\-\*]+)%s(?P<after>$|[/,\+\-\*]+)'%b)
print p.sub('\g<pre>10\g<after>', a)
测试中文测试/10,中文*中文测试

 第2个中文没有被替换到,后又换成下面这个方法:

p = re.compile('(?P<pre>^|[/,\+\-\*]+)%s(?=$|[/,\+\-\*,]+)'%b)
print p.sub('\g<pre>10', a)
测试中文测试/10,10*中文测试
 搞定.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics