【发布时间】:2020-10-04 20:30:25
【问题描述】:
这是在 perldoc 中找到的示例:
$object->expect(15, '-re', "$str");
我想在比赛中添加选项“i”。这行不通:
$object->expect(15, '-re', qr/$str/i);
我必须使用这种格式吗:
$exp->expect($timeout, [ qr/$str/i, sub {}], $shell_prompt);
【问题讨论】:
这是在 perldoc 中找到的示例:
$object->expect(15, '-re', "$str");
我想在比赛中添加选项“i”。这行不通:
$object->expect(15, '-re', qr/$str/i);
我必须使用这种格式吗:
$exp->expect($timeout, [ qr/$str/i, sub {}], $shell_prompt);
【问题讨论】:
您可以将指令嵌入到正则表达式本身:
$object->expect(15, '-re', "(?i)$str");
【讨论】:
qr/foo/i 实际上是(?i:foo)。 (?i)foo 通常等效,但它依赖于 Expect 将模式嵌入 (?:...) 以限制不区分大小写的范围。