RegEx匹配具有超过5个斜杠的字符串

时间:2018-07-01 14:00:03

标签: regex filemaker

我需要找到带有5个以上斜杠的URL,并忽略结尾的斜杠。

像比赛

https://www.url.com/cat1/cat2/cat3/cat4/

不匹配

https://www.url.com/cat1/cat2/cat3/

2 个答案:

答案 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,捕获组包含 您真正感兴趣的是-网址尾随 斜线(如果有)。