gpt4 book ai didi

Expect(语言) "couldn' t 编译正则表达式模式: quantifier operand invalid"error

转载 作者:行者123 更新时间:2023-12-01 22:22:48 26 4
gpt4 key购买 nike

我在使用 Expect 正则表达式时遇到问题。

我正在尝试匹配此输出:

RUC.hg0         :                     6                  +6
ITPOK.hg0 : 6 +6
ITUC.hg0 : 6 +6
ITPKT.hg0 : 6 +6
IT127.hg0 : 6 +6
ITBYT.hg0 : 456 +456
IR127.hg0 : 6 +6
IRPKT.hg0 : 6 +6
IRUC.hg0 : 6 +6
IRPOK.hg0 : 6 +6
IRBYT.hg0 : 456 +456
IRJUNK.hg0 : 1 +1

我想从行中的“+6”中取出“6”:

ITPKT.hg0       :                     6                  +6

我正在使用这个正则表达式:

ITPKT.*\+(\[0-9])

但是当我运行脚本时出现错误:

couldn't compile regular expression pattern: quantifier operand invalid
while executing

"expect -re "ITPKT.*\+(\[0-9])" {
puts "$expect_out(1, string)";
set snt $expect_out(1, string);
set sent 1;
}"

我读到某些字符需要转义,否则 Expect 将尝试评估(因此上面的 '[' 被转义),并且我没有收到 '无效命令' 错误,所以我认为我'我们已经过了那个阶段。

但现在我不知道为什么这个表达式无法编译:-/

无法直接回答,有谁知道任何 Expect 正则表达式工具可以帮助我调试这个问题吗?

最佳答案

原来我需要转义“+”前面的转义符!

正确的表达是:

expect -re "ITPKT.*\\+(\[0-9])" {...}

关于Expect(语言) "couldn' t 编译正则表达式模式: quantifier operand invalid"error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3358375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com