寻找匹配特定单词和数字范围的 REGEX

问题描述

我正在编写 teraTerm 脚本,该脚本将等待 2 个可能的结果之一。我最初使用 teraTerm 等待命令,但后来我失败了,我需要让它更健壮。以下是我正在解析的结果示例:

Summary for local
------------
Succeeded: 2 (changed=1)
Failed:    0

通过任何大于 0 的数字将是“成功”。同样,任何大于 0 的数字都会“失败”。

我还没有真正掌握正则表达式,生成器/测试站点对我缺乏理解(以及缺乏投资时间)无济于事。

我知道 [A-Za-z] 和 [1-9] 之类的东西可能有用,但测试它们时,我不确定如何超越返回的每个字符或仅单个字符。在上面的例子中,单词是常量,数字不是。我不确定单词和数字之间的空格是空格还是制表符。

解决方法

看起来像一个teraterm waitregex 支持Oniguruma 正则表达式语法,https://github.com/kkos/oniguruma/blob/master/doc/RE

要扫描 Succeeded 数字,请使用以下正则表达式:

Succeeded: +([0-9]+)

括号表示捕获组,例如你可以用 $1

引用它

要扫描 Failed 数字,请使用以下正则表达式:

Failed: +([0-9]+)

如果您不能使用捕获组,您可以使用正向后视:

(?<=Succeeded: +)[0-9]+

(?<=Failed: +)[0-9]+