正则表达式截取特殊的字符串

一般的正则网上可以找到,这个有点特殊,请大家帮忙下,谢谢了
“生活中总是有${abc},而我们要${def},因此所有的事情${ert}”
现在是要从上面的字符串中把${abc}和${def}和${ert}表示的三个变量截取出来,替换成另外的值
这个正则要怎么写,请大家帮忙了,谢谢

4个回答

javascript的,其他语言自己获取分组内容后获取对应变量的值


    var abc = "==abc==", def = "==def==", ert = "==ert=="
    var s = "生活中总是有${abc},而我们要${def},因此所有的事情${ert}";
    s = s.replace(/\$\{([^\}]+)\}/g, function ($0, $1) {
        return window[$1];
    });
    alert(s)
he729he
he729he 谢了,哥们
大约 5 年之前 回复

楼主只要能写出正则,就能利用部分匹配进行截取

方法很多呀,第一种,只针对以上情况的懒人写法:

 var str = '生活中总是有${abc},而我们要${def},因此所有的事情${ert}';
str.match(/[a-z]+/g)
/*输出
["abc", "def", "ert"]
*/

第二种,能应付多数情况的写法:

 var str = '生活中总是有${abc},而我们要${def},因此所有的事情${ert}';
str.match(/\w+(?=\})/g)
/*输出
["abc", "def", "ert"]
*/

自己顶一下,请大家帮忙了,谢谢。没有分,不好意思啊

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问