2 he729he he729he 于 2015.07.08 09:38 提问

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

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

4个回答

showbo
showbo   Ds   Rxr 2015.07.08 09:51
已采纳

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 谢了,哥们
2 年多之前 回复
jack960330
jack960330   2015.07.08 10:42

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

u012976550
u012976550   2015.07.22 14:40

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

 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"]
*/
he729he
he729he   2015.07.08 09:40

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

Csdn user default icon
上传中...
上传图片
插入图片