首页 > 解决方案 > 使用 RegEx 查找、删除和包装部分 url

问题描述

我需要帮助编写一个允许我查找和替换部分 url 的正则表达式。我需要在两者之间找到字符串:/什么都没有(因为它可能是字符串的结尾),删除字符:,然后将其包装在{}.

这就是字符串的样子

/submissions/search
/submissions/:_id
/points/:serial
/deals/:_id/search

这就是我希望它们在运行后的样子String.replace()

/submissions/search
/submissions/{_id}
/points/{serial}
/deals/{_id}/search

附言。这样做的背景是我需要从Express生成OpenAPI规范。Express 使用“:”作为动态参数,而 OpenAPI 使用 {}。不管用例如何,正则表达式都是一样的。

标签: regex

解决方案


正则表达式:([^\/\n]+)

细节:

  • ()团体
  • [^]匹配列表中不存在的单个字符
  • +一次和无限次之间的匹配
  • \1第 1 组。

替代{\1}


推荐阅读