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

python正则表达式怎么匹配变量

2012-03-05 
python正则表达式如何匹配变量比如原文为:x+yz现在要将变量y替换为a如何用python的正则表达式做替换呢。如

python正则表达式如何匹配变量
比如原文为:
  x+y=z
现在要将变量y   替换为   a
如何用python的正则表达式做替换呢。

如果x+yy=z就不能替换,因为yy和y不是同一个变量。变量名可以是包含数字\字母\下划线和$号的字符串。


[解决办法]
模式:(? <=[^y])y(?=[^y])

[解决办法]
那怎么区分 x+y=z 里的y呢?
就是说,y有什么特点?比如在这里是第二个“加数”的位置。
即:在 +号 跟 = 号之间。
[解决办法]
这个要涉及到递归替换,俺还不会呢。呵呵
[解决办法]

import re

dic = { 't1 ': 'x ', 't2 ': 'y ', 't3 ': 'z ', 't4 ': 'k '}

s = 't1 = t2 + t3 * t4 '

for k in dic:
s = re.sub(r '\b '+k+r '\b ', dic[k], s)

print s

热点排行