正则表达式失败Team City构建

时间:2016-12-01 02:37:00

标签: regex expression teamcity

我使用Team City来触发执行某些性能测试的脚本,并以这种格式生成输出:" Publisher 0,Rate:45600 / s" 。输出中唯一改变的是速率编号(在本例中为45600)。

基本上,我需要在我的费率低于50000的情况下使构建失败。我使用团队城市失败条件(正则表达式),但我努力找到一个正则表达式来识别是否这样数字是< 50000

这是我到目前为止所得到的: ^ [0-4] [0-9]?[0-9]?[0-9]?[0-9]?$ | ^ 50000 $ --->这将识别日志中的任何数字,其中费率号是< 50000,但是有大量的日志数据,然后它会识别我不感兴趣的其他数字,所以这并不能满足我的需要。另一个缺点是,这个正则表达式不能捕获在它之前有其他东西(字符串)的数字,因此它甚至不能以我想要的格式识别数字----> "出版商0,评分:45600 / s"

另一种尝试是使用此正则表达式:评分:\ s + \ K \ S + 它只匹配" Rate"之后的数字。这正是我想要的!但是,我无法找到一种方法来匹配数字仅当数字是< 50000 此外,Team City不允许使用" \ K",因此我需要找到不同的解决方案。

以下是我用于正则表达式测试目的的一些日志条目:

  • 出版商0,评分:45600 / s
  • 出版商0,评分:50001 / s
  • 10
  • 100
  • 1000
  • 10000
  • 50001
  • 100000

ps:在这种情况下,对我来说一个成功的正则表达式将只匹配" 45600"。

有任何想法/建议吗?

感谢您的帮助。

干杯!

2 个答案:

答案 0 :(得分:1)

试试这个:https://regex101.com/r/8HFJNZ/2

您可以通过添加Rate:/s来更正确地使用正则表达式。

答案 1 :(得分:0)

感谢您的帮助/建议。这是对我有用的最终正则表达式(我也在Team City测试过,一切都很好)

Rate:\s+[0-4]?[0-9]?[0-9]?[0-9]?[0-9]\s

干杯。