正则表达式匹配时间范围00:00:00

时间:2015-02-11 15:21:43

标签: regex google-analytics

我之前已经使用正则表达式进行简单的比赛,但我认为这不属于我的联赛。我正在使用Google Analytics(GA),我希望匹配00:00:00格式的会话持续时间。

我发现了一些类似于我需要的文章,但它与范围不符:

(^([0-1]?\d|2[0-9]):([0-9]?\d):([0-9]?\d)$)|(^([0-9]?\d):([0-9]?\d)$)|(^[0-9]?\d$)

问题是我已经进行了多次访问,持续时间为1秒,并且在实际访问期间持续1小时,持续时间介于10秒和10分钟之间。由于无效访问的数量,我的平均值是偏差的。所以我想通过正则表达式在GA中添加一个过滤器,以匹配00:00:1000:10:00之间的时间。

3 个答案:

答案 0 :(得分:0)

这可能有助于...不使用群组且易于维护的答案:

00:10:00|00:0[1-9]:[0-5][\d]|00:00:[1-5]\d

使用

00:00:00 ignore
00:00:01 ignore
00:00:10 accept
00:00:11 accept
00:00:59 accept
00:00:60 ignore
00:05:03 accept
00:09:59 accept
00:10:00 accept
00:10:01 ignore
00:10:50 ignore
01:20:00 ignore

它将在10秒(包括10秒)到10分钟(包括10秒)之间进行传送,不包括其他所有内容。

答案 1 :(得分:0)

您可以使用

/^[0-9]{2}:[0-9]{2}:[0-9]{2}$/

OR

/^\d{2}:\d{2}:\d{2}$/

如果您只想从00:00:00到99:99:99匹配

这里'^'指定模式的开始,'$'指定模式的结束。 如果您不使用它们,该模式也将匹配'99:99:99:99999',这不是预期的结果。因此,请指定它们以提及模式的开始和结束。

如果您还希望匹配大于零的单个数字,例如9:9:96和01:8:20等,请使用

/^([1-9]{1}|[0-9]{2}):([1-9]{1}|[0-9]{2}):([1-9]{1}|[0-9]{2})$/

答案 2 :(得分:0)

  

由于无效访问次数,我的平均值会出现偏差。所以我想要   通过正则表达式在GA中添加过滤器以匹配00:00:10和之间的时间   00:10:00。

解释这种需求,尝试这样的事情:

^00:(10:00|0[1-9]:[0-5][0-9]|00:[1-5][0-9])$

说:

  • “小时”部分必须为00
  • “分钟”部分可以是:01 to 09后跟any second(00到59)或00后跟any second between 10 and 59

一些测试值的结果:

00:00:00 NO
00:00:01 NO
00:00:10 YES
00:00:11 YES
00:00:20 YES
00:05:03 YES
00:09:59 YES
00:10:00 YES
00:10:50 NO
01:00:00 NO