u012823326
sunshine_sean
采纳率100%
2017-08-30 16:29

js 正则表达式获取${}$中的值

1

var str = "${DataField}$ + ${Operation}$ + ${Data}$";
如何得到 DataField Operation Data

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

7条回答

  • xufang461010923 迷失的骆驼 9月前
    <script>
       var str = "${DataField}$ + ${Operation}$ + ${Data}$";
        // 正则一
       var reg2 = /[A-Z]\w+(?=}\$)/g
       // 正则二
       var reg3 = /\b(?=\w)\w+(?=}\$)/g
        console.log(str.match(reg2).join(' '))
        console.log(str.match(reg3).join(' '))
        // 输出:DataField Operation Data
     </script>
    
    点赞 1 评论 复制链接分享
  • zy841958835 cloudyzhao 4年前

    var str = "${DataField}$ + ${Operation}$ + ${Data}$";
    var g = /\${[^+]+}/;
    var group = str.match(g);

    点赞 2 评论 复制链接分享
  • zy841958835 cloudyzhao 4年前

    /\${[^\+]+}/

    点赞 2 评论 复制链接分享
  • HUSHILIN001 mkmin 4年前
    var str1 = "${DataField}$+${Operation}$+${Data}$"; console.log(str1.split("+")); var arr = str1.split("+"); for(var i = 0; i < arr.length; i++) { console.log(arr[i].slice(2, arr[i].length - 2)); }
    点赞 评论 复制链接分享
  • HUSHILIN001 mkmin 4年前

    正则的方式已经有很多了,我就说个非正则的吧,你可以使用split去根据+号切割,然后获取到三个数组。接下来每个数组去掉第一第二个字符串还有
    最后那个字符串,然后就可以了

    点赞 评论 复制链接分享
  • sysu_Mid 很可爱的Mid 4年前

    如楼上所说,使用replace函数,
    将$,{,}替换成空字符,将+替换成空格

    点赞 评论 复制链接分享
  • huang931027 IAmObject 4年前
        var str1 = "${DataField}$ + ${Operation}$ + ${Data}$";
        var strArr=str1.split("+");
    
        var str ="";
        for(var i=0;i<strArr.length;i++){
    
            str=strArr[i].replace("${", "");
            str=str.replace("}$", "");
            alert(str)
    
        }
    
    点赞 评论 复制链接分享