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

问题描述

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

一般的正则网上可以找到,这个有点特殊,请大家帮忙下,谢谢了
“生活中总是有${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

正则表达式截取特殊的字符串的相关文章

javascript-js问题关于正则表达式截取字符串

问题描述 js问题关于正则表达式截取字符串 @:21101001@+@:21101002@+@:21101003@+@:21101004@.我想截取@:与@之间的数字串,把四个数字串都截出来,该怎么做? 解决方案 var s = '@:21101001@+@:21101002@+@:21101003@+@:21101004@' var m = s.match(/d+/g); console.log(m) 解决方案二: 正则表达式截取字符串通过正则表达式截取字符串正则表达式截取字符串中的数字 解决

正则表达式截取字符串急急急急

问题描述 正则表达式截取字符串急急急急 @:2120100301@+@:2120100302@+@:2120100303@+@:2120100304@截取@:与@之间的数字串,再截取运算符号+ 解决方案 String regEx = ""(@:)(d{120})(@)""; String url = ""@:2120100301@+@:2120100302@+@:2120100303@+@:2120100304@""; Pat

求个正则表达式截取字符串

问题描述 求个正则表达式截取字符串 如: 3/三星/nz 7/翡翠/n 9/奶茶/n 1/R8/ws 7/饭/n 3/保险/n 6/手机/n 14/三/m 9/端/v 获取,"三星""翡翠""奶茶""R8""饭""保险" 解决方案 如何用正则表达式截取字符串用正则表达式截取字符串通过正则表达式截取字符串 解决方案二: js中貌似是/(?<=/)[a-zA-Z0-94e00-9fa5

关于javascript正则表达式截取字符串的问题

问题描述 关于javascript正则表达式截取字符串的问题 一字符串:"@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2",我要的结果是:{@bji|北京|BJP|0,sha|上海|SHH|1,@tji|天津|TJP|2},javascript怎么用正则表达式分隔成这三部分.小弟对正则表达式实在太瞎 解决方案 var reg="@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2" alert(reg.mat

java正则表达式截取 [xxxx]xxx 格式的字符串

问题描述 java正则表达式截取 [xxxx]xxx 格式的字符串 String str="[日期]aasd阿萨德a12[B超主导卵泡]142[内膜]事实上[雌激素]ewr[孕激素][其它用药][LH(miu/ml)]>200[E2(pg/ml)]"; Pattern mpattern = Pattern.compile("[([u4e00-u9fa5]*S*?)]([u4e00-u9fa5]|.)*?"); Matcher m = mpattern.matc

正则表达式截取字符串的问题

问题描述 正则表达式截取字符串的问题 早C#中,比如@abc:@abc:@abc如何用正则截取@与:之间的值转为数组 解决方案 (?<=@)w+(?=:) 也可以直接用split string s = "@abc:@abc:@abc"; string[] result = s.Split(new char[] { '@', ':' }, StringSplitOptions.RemoveEmptyEntries); 解决方案二: 正则表达式截取字符串用正则表达式截取字符串如何用正

java 正则匹配空格字符串 正则表达式截取字符串

  java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = @pid ; update t set a = @aa,b=@bb,c=@cd,ttt=@ttt;update t2 set d=@bb"; 我要拿出所有的以@开头的作为变量,并且去重,则如下玩: ps:其中正则匹配空格是 "\s+"   public class Test

正则表达式截取字符串的方法技巧_正则表达式

有这么一段字符串: [数字]字符串 结果 取  a=数字      b=字符串 截取方法1: int a = Convert.ToInt32(txt1.Text.Trim().Replace('[', ']').Split(']')[1]); string b = txt1.Text.Trim().Replace('[', ']').Split(']')[2]; 截取方法2: string str = "[数字]字符串"; Regex reg = new Regex(@" (

正则表达式截取字符串的方法技巧

有这么一段字符串: [数字]字符串 结果 取  a=数字 b=字符串 截取方法1: int a = Convert.ToInt32(txt1.Text.Trim().Replace('[', ']').Split(']')[1]); string b = txt1.Text.Trim().Replace('[', ']').Split(']')[2]; 截取方法2: string str = "[数字]字符串"; Regex reg = new Regex(@" ([^]+)