避免匹配/替换字符串的自定义转义部分
Avoid matching/replacing custom-escaped part of string
我用正则表达式替换字符串,如下所示:
var str = "{% {{name}} %}: {{name}}";
console.log(str.replace(/{{([^{}]*)}}/g, "John")) // {% John %}: John
我想使用 {% 和 %} 来转义两者之间的任何内容 - 这意味着它应该跳过替换。所以预期的输出是:// {{name}}: John
实现这一目标的最佳方法是什么?
像这样?
var str = "{% {{name}} %}: {{name}}";
var data = {
name: 'John'
}
str = str.replace(/{%(.+?)%}|{{(.+?)}}/g, function(_, $1, $2) {
return $1 || data[$2]
});
document.write(str)
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- jQuery自定义验证比较多个输入的序列
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 在wordpress一定时间后更改自定义字段
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 自定义函数中的光标位置
- 用于检查数组中是否存在元素的javascript自定义方法
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- Meteor-添加用户自定义字段的方法不起作用
- 自定义表单验证和提交
- jQuery工具验证器自定义效果-添加&消除影响
- 可以't计算自定义谷歌地图的js
- 谷歌水印未显示在自定义搜索框中
- vaadin:使用自定义布局集成angular js
- DataTables-创建自定义分页样式(加载更多样式)
- 实现一个建立在google.com之上的自定义搜索引擎
- 避免匹配/替换字符串的自定义转义部分
- 如何为Hogan.js创建自定义绑定语法(未转义的HTML版本)
- 如何在lodash模板中设置自定义转义RegExp