问题描述
- 正则表达式截取特殊的字符串
-
一般的正则网上可以找到,这个有点特殊,请大家帮忙下,谢谢了
“生活中总是有${abc},而我们要${def},因此所有的事情${ert}”
现在是要从上面的字符串中把${abc}和${def}和${ert}表示的三个变量截取出来,替换成另外的值
这个正则要怎么写,请大家帮忙了,谢谢
解决方案
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)
解决方案二:
楼主只要能写出正则,就能利用部分匹配进行截取
解决方案三:
方法很多呀,第一种,只针对以上情况的懒人写法:
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"]
*/
解决方案四:
自己顶一下,请大家帮忙了,谢谢。没有分,不好意思啊
时间: 2025-01-21 18:04:25