正则表达式-选择第三个斜杠之前的所有内容

时间:2019-05-06 09:13:16

标签: regex google-analytics

最简单的正则表达式是什么,选择第三个斜杠之前的全部

我尝试过:

([^\/?#]+){3}(?:.*?\/)

但是它并不完全像我希望的那样工作。还有什么我不知道它将在Google Analytics(分析)(过滤器部分)中起作用

3 个答案:

答案 0 :(得分:1)

您可能要做的是重复匹配2次而不是正斜杠,然后是正斜杠。

^(?:[^\/]*\/){2}[^\/]+

查看regex demo

如果您不想匹配?#,可以将其添加到角色类中

^(?:[^\/?#]*\/){2}[^\/]+

关于您的图案

模式([^\/?#]+){3}的这一部分捕获的字符匹配1倍以上的字符,该字符不在字符类中,但重复之后不考虑正斜杠。

然后(?:.*?\/)将匹配任何非贪心字符,后跟正斜杠。

答案 1 :(得分:0)

在评论中,您给出三个示例://news//news/details/。根据这些示例,这里是一个解决方案:

^(\/[^\/]*){1,2}\/?

它说:从字符串的开头匹配以下内容:

  • 一个斜杠,然后是零个或多个非斜杠
  • 可以选择在其后跟第二个斜杠以及零个或多个非斜杠
  • 可选地,最后跟一个斜杠

test-output

答案 2 :(得分:-1)

您可以使用此正则表达式:

^([^\/]*\/){2}[^\/]*

Example