Robotframework 机器人框架-“;环顾四周”;正则表达式

Robotframework 机器人框架-“;环顾四周”;正则表达式,robotframework,lookbehind,lookaround,Robotframework,Lookbehind,Lookaround,我试图找到一种方法,让Robot框架在日志文件中已知字符串之间抓取文本。我想用它来获取变量(比如IP地址),通过我的测试计划传递它们 示例日志:(注意不同的时间戳,我无法控制它们,开发人员似乎出于某种原因喜欢更改它们。) [2014-10-11T22:34:00.11]TCP连接-连接到上的192.168.21.139 8030端口 [2014-10-11 22:34:00.11]TCP连接-连接到上的devbox01 港口9718 [2014-10-11][22:34:00.11]TCPCon

我试图找到一种方法,让Robot框架在日志文件中已知字符串之间抓取文本。我想用它来获取变量(比如IP地址),通过我的测试计划传递它们

示例日志:(注意不同的时间戳,我无法控制它们,开发人员似乎出于某种原因喜欢更改它们。)

[2014-10-11T22:34:00.11]TCP连接-连接到上的192.168.21.139 8030端口

[2014-10-11 22:34:00.11]TCP连接-连接到上的devbox01 港口9718

[2014-10-11][22:34:00.11]TCPConnect-连接到devbox01.here.local.net on 8712端口

如果我使用关键字“获取与Regexp匹配的行”和regex:

(?<=.*Connecting to )(.*?)(?= on port .*)

(?我认为您不需要在此处使用look back。这应该与给定的行匹配:

| | ${lines} | Get lines matching regexp | ${data} | .*Connecting to .* on port.*

请注意,这将返回匹配的整行内容——这与模式无关,只是关键字的工作方式。即使添加捕获组或非捕获组,也会得到匹配的整行内容。如果只想获得IP地址,则必须对返回的行内容进行额外的解析。

是,没有内置或字符串库中的关键字,用于执行所需操作。
splitstring
或python用户关键字都是最佳选项。