我需要找到带有5个以上斜杠的URL,并忽略结尾的斜杠。
像比赛
https://www.url.com/cat1/cat2/cat3/cat4/
不匹配
https://www.url.com/cat1/cat2/cat3/
答案 0 :(得分:1)
这是工作:
^(?:[^/\r\n]*/){6,}[^/\r\n]+
说明:
^ : beginning of line
(?: : start non capture group
[^/\r\n]* : 0 or more any character that is not a slash or a linebreak
/ : 1 slash
){6,} : end group, must appear 6 or more times
[^/\r\n]+ : 1 or more any character that is not a slash or a linebreak
答案 1 :(得分:0)
假设您的源文本仅包含一个URL,并且 仅此而已,您可以使用:
^((?:[^\/]*\/){6,}[^\/]+)\/?$
说明:
^
-字符串的开头。(
-捕获组的开始,包含:
(?:
-非捕获组的开始,由于
后面的量词。[^\/]*\/
-/
以外的其他字符序列(可能为空)
和/
。){6,}
-非捕获组的结尾,必须出现6或
更多次。[^\/]+
-除/
以外的一系列字符,这次是非空的。)
-捕获组的结尾。\/?
-斜杠(如果有)。$
-字符串的结尾。整个匹配项包含整个URL,捕获组包含 您真正感兴趣的是-网址不尾随 斜线(如果有)。