正则表达式匹配替换

1.因在node中找不到好的解决方案,替换 xml 中的属性值。在浏览器中到有解决方案。就想到正则,尝试几次都不行太渣了。

  1. <Position position_id="3" position_name="上面" position_type="6" channel_id="9" channel_name="vib_10" channel_type="0" dgm_id="181"/>
  2. 比如替换 position_id="4": 结果

<Position position_id="4" position_name="上面" position_type="6" channel_id="9" channel_name="vib_10" channel_type="0" dgm_id="181"/>

正则应该怎么弄,有什么思路

阅读 2.1k
3 个回答
var str='<Position position_id="3" position_name="上面" position_type="6" channel_id="9" channel_name="vib_10" channel_type="0" dgm_id="181"/>';
    function change(str,attrname,value){
        var reg=new RegExp('('+attrname+')="(.+?)"','g');
        return str.replace(reg,function($0,$1,$2){
            return $1+'="'+value+'"'
        });
    }
    console.log(change(str,'position_id',5));

替换某一个属性值么

nodejs提供xml解析,然后更改属性的库吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题