JS regex匹配URL的所有部分,忽略由该URL中的动态值组成的特定路径
正则表达式应匹配的URL示例:JS regex匹配URL的所有部分,忽略由该URL中的动态值组成的特定路径,regex,Regex,正则表达式应匹配的URL示例: https://domain/a/b/c/d/e/i39m33rgp5jcrohl5atwe4c9/g/h.file 这不应该匹配:i39m33rgp5jcrohl5atwe4c9 我一直在想一些类似的事情,但测试似乎并不匹配。有什么建议吗 ^/a/([^/]+/)?([^/]+/)?([^/]+/)?([^/]+/)?([^/]+/)?([^/]+/)([^/]+/)(\.file)?$对于所显示的示例,请尝试以下内容 (^https?:\/\/(?:.*?\/
https://domain/a/b/c/d/e/
i39m33rgp5jcrohl5atwe4c9/g/h.file
这不应该匹配:i39m33rgp5jcrohl5atwe4c9
我一直在想一些类似的事情,但测试似乎并不匹配。有什么建议吗
^/a/([^/]+/)?([^/]+/)?([^/]+/)?([^/]+/)?([^/]+/)?([^/]+/)([^/]+/)(\.file)?$
对于所显示的示例,请尝试以下内容
(^https?:\/\/(?:.*?\/){6}).*?\/(.*)$
说明:添加上述内容的详细说明
( ##Starting 1st capturing group here.
^https?:\/\/ ##Checking condition if value starts from http/https://
(?:.*?\/){6} ##In a non-capturing group doing non-greedy match till / up to 6 times, just before dynamic value in URL.
) ##Closing 1st capturing group here.
.*?\/ ##Again going non-greedy match till next occurrence of / here.
(.*)$ ##In 2nd capturing group having everything, rest of URL here.
请给出更多的例子并明确解释应该匹配哪些部分。Hi@WaisKamal,因此我代码阻止的部分应该匹配,但在特定位置随机生成的ID除外,因此您希望显式匹配
https://domain/a/b/c/d/e
和/g/h.file
围绕一段文本?是的!因为这个字符串是动态的generated@CodyEJavaScript标记与此相关。JavaScript正则表达式语法不同于java正则表达式语法,它本身不同于C++正则表达式语法。