如何使用正则表达式,替换xml节点内容,请给出表达式


项目中要大量替换XML文件中的内容,传统查找替换方式过于繁琐,使用正则可以达到一次替换的效果,但对于如下节点,如何通过正则表达式搜索出 find me ,而不包含其它字符?(最好也考虑递归嵌套查找的问题)

示例:
<button title=xxx>find me</button>

php c# C++ JavaScript

纯洁的怪蜀黍 12 years, 3 months ago

使用正则中的“ 肯定逆序环视 ”和“ 肯定顺序环视 ”即可解决。
正则表达式为:

   
  (?<=<button.*>).*(?=</button>)
 

需要注意的是,由于PHP的正则引擎限制了后向断言(lookbehind assertion)中匹配的内容必须为定长,所以上述表达式在PHP中会报错,只能利用子模式来解决。

抽风似的微笑 answered 12 years, 3 months ago

Your Answer