使用RegEx查找,删除和包装部分URL

时间:2019-06-12 12:13:53

标签: regex

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

这就是字符串的样子

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

这是我希望他们在运行String.replace()之后的样子:

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

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

2 个答案:

答案 0 :(得分:1)

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

详细信息:

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

替换{\1}

答案 1 :(得分:1)

您可以使用以下命令:react-native-vimeo

  • :([^/]+)(\/|$)->检测到:
  • :->捕获一个或多个非([^/]+)
  • /->检测到(\/|$)或字符串结尾
  • g->替换字符串中的多次出现

/