期望正则搜索完整的行或文本



我的Expect_Output(缓冲区)如下多行。

status QM1
QM(QM1)                                  Status(Running)
CPU:                                     0.02%
Memory:                                  106MB
Queue manager file system:               391MB used, 47.3GB allocated 
[1%]
HA role:                                 Primary
HA status:                               Normal
HA control:                              Enabled
HA preferred location:                   Here
mqa(mqcli)#

尝试了多个正则要选项,但是我一直在0,因为没有匹配。

regexp /^.*b(Running)b.*$ $qmgrstat相似,获得" HA状态"的值。

什么是正确的正则语法。

不确定我理解。您只想匹配HA status的值吗?如果是,那么此正则会这样做:

HA status:W*(.*)

如果要在" QM"状态运行时捕获HA状态,则可以执行

if {[string match {*Status(Running)*} $qmgrstat]} {
    regexp {HA status:s+(S+)} $qmgrstat -> status
}
status[^v]*vQM[^v]*vCPU:[^v]*vMemory:[^v]*vQueue manager file system:[^v]*vHA role:[^v]*vHA status:[^v]*vHA control:[^v]*vHA preferred location:[^v]*vmqa[^v]*#v

如果您想要具有状态使用的完整文本行:[^v]*Status([^v]*

获得可以使用的HA状态的线:HA status:[^v]*

祝你好运!

最新更新