JavaScript RegEx - 替换字符的第一次和最后一次出现

标签 javascript regex

我需要一个正则表达式,以便将字符串 {somestr} 转换为 :somestr ,但我只需要替换第一个和最后一个出现的大括号,因为如果字符串中间有任何出现 - 则不应将其删除。

到目前为止我已经尝试过:

传入字符串var path = '/claims/{id}'

var pathWithoutBraces = path.replace("\{", ":").replace("\}", "")

输出是 /claims/:id 这是预期的,但它仍然会替换整个字符串中所有进一步出现的情况

最佳答案

您可以使用以下内容替换第一个和最后一个 {}

var s='/claims/{abc{de}}f}';

document.write(s.replace(/{(.*)}/,':$1'));

关于JavaScript RegEx - 替换字符的第一次和最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32627326/

相关文章:

javascript - 如何取消已使用 native javascript 发起的 AJAX 请求

javascript - 检查字符串中的任意位置是否包含 1 到 3 个 .-_ 字符

javascript - 这个正则表达式有什么问题(如果不是正则表达式)

python - 如何将正则表达式与多个重叠模式匹配?

Java 正则表达式元字符在拆分时返回额外的空间

regex - 如何用sed将文件中的每一行用双引号引起来?

javascript - 谷歌翻译没有隐藏

javascript - 如何对路由发出 get 请求并从 API 检索信息?

javascript - Appcelerator 中的属性字符串和应用 @ 符号中间字符串

javascript - jquery 速度不够快,无法生效