javascript - 使用正则表达式在数字周围添加大括号?

标签 javascript regex

我想转换这样的字符串

var string = "3*v0-v1/v12"

仅使用一个正则表达式即可达到这样的效果:

var result = "3*v[0]-v[1]*v[12]"

棘手的部分是在添加大括号时添加数字,例如:

var result = string.replace(/v\d{1,2}/g, /REGEX HERE/)

最佳答案

这应该可以解决问题:

var result = string.replace(/v(\d{1,2})/g, 'v[$1]');

括号创建一个组,$1 是引用该组的反向引用:

enter image description here

关于javascript - 使用正则表达式在数字周围添加大括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29971890/

相关文章:

javascript - jQuery 获取输入 :nth-child(n) value not working

javascript - 如何将 Angular 中的 rootScope 更改为 Service?

javascript - Angular 2 使用 SharedService 将项目推送到数组以更新 UI

python re.compile 匹配百分号 %

java - 正则表达式中带有可选 block 的组编号

java - 在未包含在标签中的多行文本节点中用 <br> 标签替换换行符

javascript - 在 AngularJS 中使用延迟结果

javascript - 验证用户输入以使用正则表达式获取字符和数字不起作用

regex - 正则表达式中 * 运算符的混淆

python - 在 Python 中使用通配符匹配字符串