Javascript Regexp:替换大括号
Javascript Regexp: Replace curly braces
Folks,
我正试图用多次出现的"${country_id}"
替换一大块字符串。我需要一个可以替换${country_id}
的正则表达式。这是我的代码:
var iterLiteral = "'$'{"+literal+"'}"
var re = new RegExp(iterLiteral,"g")
var value = value;
return body.replace(re,value)
我得到这个错误:
计算器:org.mozilla.javascript.EcmaError:无效的量词}
我该怎么修?
编辑:
要替换的字符串:${country_id}
CCD_ 4被传递给函数:CCD_。
试图使用Anubhava所说的(使用''
),程序试图搜索'$'{country_id'}
,但没有找到。
编辑2:为什么这是重复的?提到的问题并没有提到逃跑。
如果您有一个集合正则表达式,您可能会发现使用//
语法来定义RegExp:更容易
'foo: ${country_id}, bar: ${country_id}'.replace(/'$'{country_id'}/g, 'baz')
或者,如果必须构造字符串,则需要对斜杠进行双转义,使其成为正则表达式的一部分,而不被视为创建字符串本身的转义字符:
'foo: ${country_id}, bar: ${country_id}'.replace(new RegExp('''$''{' + 'country_id' + '''}', 'g'), 'baz')
因此,您的功能是:
function replaceLiteral(body, literal, value) {
var iterLiteral = "''$''{" + literal + "''}";
var re = new RegExp(iterLiteral, "g");
return body.replace(re, value)
}
var result = replaceLiteral('foo: ${country_id}, bar: ${country_id}', 'country_id', 'baz');
console.log(result);
所有这些都输出相同的字符串:
'foo: baz, bar: baz'
如果.replace
函数正确(意味着使用正则表达式作为第一个参数,而不是iterLiteral),那么使用双斜杠应该有效。如果没有,代码中的其他地方就会出现问题。如果是这样的话,请提供您正在使用的全部功能。
function fandr(literal, value, el) {
var iterLiteral = "''$''{" + literal + "''}",
re = new RegExp(iterLiteral, "g"),
$el = $(el);
console.log(re);
$el.html(function() {
return $el.html().replace(re, value);
});
}
fandr("country_id", "banana", "span");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>${country_id}</span>
相关文章:
- 替换为javascript中的regExp
- javascript:查找/替换regexp帮助-粗体、斜体和特定字符
- 将字符串添加到不区分大小写的 RegExp 中替换的事物开始
- Javascript RegExp替换.如何携带未知字符进行替换
- 替换字符串中所有出现的项并避免RegExp转义
- JavaScript RegExp#hasgtag替换为html中没有超hashlink的链接
- RegExp-替换搜索时的“html”标记并突出显示
- 使用Javascript Regexp替换基于变量的字符串部分
- RegExp替换不替换为模式
- Javascript RegExp - 匹配字符串并替换
- Javascript RegExp 替换以获取时间
- Javascript 字符串使用 regExp 和 replacer 函数替换
- javascript查找协议,域,加上src标记中带有regexp的第一个斜杠,替换为空字符串
- 用于替换微笑图像的Javascript regexp
- 使用jquery变量替换句点、冒号或任何其他字符的通用regexp
- JavaScript RegExp替换文本
- Javascript-RegExp-替换未被字母包围的字符
- 替换javascript regexp中的标记
- 用某些字符替换regExp (Javascript)
- 替换RegExp -负模式