javascript正则表达式函数
我需要编写JS正则表达式(或函数),告诉我字符串是否为该格式:javascript正则表达式函数,javascript,regex,Javascript,Regex,我需要编写JS正则表达式(或函数),告诉我字符串是否为该格式: /root/:param1/:param2/:param3/.../ 或 有什么想法吗? 谢谢。如果我正确地解释了您的问题,我们可以将此模式分解为三个主要部分: 从/root 后跟一些/:param 可选后跟一个/ 现在我们只需要为每个组件开发正则表达式,并将它们组合起来: 从/root 字符串的开头用^标记,后面跟着/root ^/root 后跟一些/:param: 比如说:param应该匹配1-N个字符(+运算符),这些
/root/:param1/:param2/:param3/.../
或
有什么想法吗?
谢谢。如果我正确地解释了您的问题,我们可以将此模式分解为三个主要部分:
/root
/:param
/
/root
- 字符串的开头用
标记,后面跟着^
/root
^/root
/:param
:
- 比如说
应该匹配1-N个字符(:param
运算符),这些字符不是正斜杠+
[^/]
- 这给了我们
/[^/]+
- 可以使用组和
运算符:*
(/[^/]+)*
/
- 使用
运算符:?
/?
- 附加
以指定字符串的结尾$
^/root(/[^/]+)*/?$
。您可以使用RegExp.prototype.test
检查匹配项:
r = new RegExp('^/root(/[^/]+)*/?$')
r.test('/root') // => true
r.test('/root/') // => true
r.test('/root/apple/banana') // => true
r.test('/root/zebra/monkey/golf-cart/') // => true
如果您希望匹配URL路径段,而不是我在这里用于
:param
字符的[^/]
。您有什么想法吗?请提供更多信息。现在还不清楚您的问题是什么。提示:您不需要正则表达式本身
r = new RegExp('^/root(/[^/]+)*/?$')
r.test('/root') // => true
r.test('/root/') // => true
r.test('/root/apple/banana') // => true
r.test('/root/zebra/monkey/golf-cart/') // => true