var str = "${DataField}$ + ${Operation}$ + ${Data}$";
如何得到 DataField Operation Data
<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>
/\${[^\+]+}/
var str = "${DataField}$ + ${Operation}$ + ${Data}$";
var g = /\${[^+]+}/;
var group = str.match(g);
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)
}
如楼上所说,使用replace函数,
将$,{,}替换成空字符,将+替换成空格
正则的方式已经有很多了,我就说个非正则的吧,你可以使用split去根据+号切割,然后获取到三个数组。接下来每个数组去掉第一第二个字符串还有
最后那个字符串,然后就可以了