Robot Framework中Get Regexp Matches返回空列表问题求助
问题解决:Robot Framework Get Regexp Matches返回空列表
问题原因
你遇到的空列表问题,核心是正则表达式中的反斜杠未正确转义。在Robot Framework中,单个反斜杠会被当作转义字符处理,导致\d被解析为普通字符d,正则-?\d+实际变成-?d+,自然匹配不到数字。
修正方案
将正则表达式中的\d改为\\d,转义反斜杠后,正则引擎才能正确识别数字匹配规则:
FOR {i} IN ${iterations} ${offset_string}= Split String ${deviation_list[${i}]} separator=: ${offset}= Get Regexp Matches ${offset_string[1]} -?\\d+ # 可选:打印中间结果验证 Log 拆分后字符串:${offset_string[1]} Log 匹配结果:${offset} . . . END
额外验证步骤
- 先通过
Log关键字打印${offset_string[1]},确认Split操作后得到的字符串是正确的(比如示例中应为offset from CLOCK_REALTIME is 2237ns)。 - 若仍有问题,可尝试更精确的正则锁定目标数字(匹配数字后紧跟非数字的场景):
${offset}= Get Regexp Matches ${offset_string[1]} -?\\d+(?=\\D|$)
内容的提问来源于stack exchange,提问作者Erik Pettersson
相关产品推荐
相关产品推荐

