gpt4 book ai didi

regex - 如何使用 Perl 递归正则表达式

转载 作者:行者123 更新时间:2023-11-28 19:55:52 25 4
gpt4 key购买 nike

我有一台需要测试的设备的输出,大部分响应是一行,但有时是两行。我用一个简单的正则表达式解析一两行来处理

if ($prompt =~ /(\s.*?)\r\n(.*)/)
{
Note('Multiline '.$string);
TestPrompt($string, $1);
TestPrompt($string, $2);
}
else
{
TestPrompt($string, $prompt);
}

但是如果响应超过两行怎么办?此代码无法处理额外的行,我想在我的设计中保持稳健。有没有办法从正则表达式中捕获以用于 foreach

最佳答案

为什么不使用 split 函数来代替呢?这是一个 link to some examples用法。对于您的示例,为什么不这样做:

my @lines=split /\r\n/,$prompt;

Note("Multiline $string") if @lines>1;

foreach my $line (@lines)
{
TestPrompt($string, $line);
}

关于regex - 如何使用 Perl 递归正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970422/

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