首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

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

2012-09-11 
python的正则表达式作中文替换的一个例子今天碰到一个需要中文替换的地方,开始直接用replace,后来发现不行

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*中文测试
?搞定.

热点排行