控制台日志:
10:16:02 2016-08-10 10:16:01.087 [INFO] (1): DEVICE_DAILY_SKIPS_SUBSCRIBER=60
10:16:02 2016-08-10 10:16:01.087 [INFO] (1): DEVICE_DAILY_SKIPS_REGISTERED=48
10:16:02 2016-08-10 10:16:01.088 [INFO] (1): DEVICE_HOURLY_STATION_SKIPS_SUBSCRIBER=6
10:16:02 2016-08-10 10:16:01.284 [INFO] (1): Post results =true
10:16:02 2016-08-10 10:16:01.290 [INFO] (1): Calling Api......
10:16:05 2016-08-10 10:16:04.289 [INFO] (1): Run URL = <a href="https://sv5.ad.mobile.com/index.php?/runs/view/2435" target="_blank">Run = R2435</a>
10:16:05 2016-08-10 10:16:04.293 [INFO] (1): [CONFIGURATION BeforeSuite] AbstractBaseTest#setUpBeforeSuite
10:16:05 2016-08-10 10:16:04.307 [INFO] (1): SHORT_TIMEOUT: 1000
上面是Jenkins构建控制台日志,我正在解析它以找到所需的URL以及封闭的<a href..
html标签。例如,在上面的日志中,我想在正则表达式的帮助下找到这个:<a href="https://sv5.ad.mobile.com/index.php?/runs/view/2435" target="_blank">Run = R2435</a>
。
这是我尝试过的:
<a href="https://sv5.ad.mobile.com/index.php?/runs/view/.*">
,但似乎不工作。还有,有没有一种方法可以用一个紧凑的正则表达式来进行这种搜索?如何在正则表达式的帮助下在日志中找到这样的url ?
一旦您摆脱了.
s和?
s,您已经拥有的应该大部分都可以工作。您还需要允许其他属性,如target="_blank"
:
<a href="https://sv5.ad.mobile.com/index.php?/runs/view/[^"]*"[^>]*>
[^"]*
表示"非双引号的任意数量的字符",[^>]*
同样表示"非右尖括号的任意数量的字符"。
您可能希望通过允许属性出现在href
之前来更加灵活:
<a [^>]*href="https://sv5.ad.mobile.com/index.php?/runs/view/[^"]*"[^>]*>
至于它是否可以更紧凑,这取决于你想要找到什么。你只给了我们一个例子,所以我们很难推测。