【问题标题】:regEx match url config parameters正则表达式匹配 url 配置参数
【发布时间】:2017-12-01 15:59:29
【问题描述】:

我需要一个正则表达式来识别自定义参数。

所以如果我有 url 配置路径:

'/myapp/users/:userId'

它将匹配 [':userId']

'/myapp/user/:username/profile/:profileId'

我需要返回[':username',':profileId']

到目前为止,我有 :(.*)/?但它会选择初始找到的参数之后的所有内容

http://www.regextester.com/?fam=97974

我在 reg ex 上很弱,有人可以帮忙吗?

【问题讨论】:

标签: javascript regex


【解决方案1】:

:(.*)/? 模式匹配第一个:,然后贪婪地.* 抓取整行,并且不需要做任何其他事情,只需返回匹配项,因为/? 匹配一个空字符串(/? 匹配 1 或 0 个 / 符号)。

您可以使用否定字符类[^\/]+

:([^\/]+)

详情:

  • : - 冒号
  • ([^\/]+) - 除/ 之外的 1+ 个字符

请参阅regex demo

【讨论】:

    【解决方案2】:

    试试这个模式/:(.*?)($|\/)/g

    Demo

    1. 替代$ 在字符串末尾断言位置
    2. 替代\/匹配字符
    3. .*? 匹配任何字符(行终止符除外)

    【讨论】:

    • 感谢您的回复和精彩的解释
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 2020-12-19
    • 1970-01-01
    • 2011-02-19
    相关资源
    最近更新 更多