gpt4 book ai didi

regex - 在 perl 输出中得到一个意想不到的空间

转载 作者:行者123 更新时间:2023-12-01 11:41:09 25 4
gpt4 key购买 nike

我正在尝试执行以下 perl 脚本。

$var = "\$53:\$\?\$\?\$\?  \$\=BAbc \$\? \$53: \$ hjk"
$var =~ s/(\$\=B)/FLAGB/;
$var =~ s/(?<=\$53:).*?(?=.[^\$\?\s])//
$var =~ s/(FLAGB)/\$\=B/;
print "\n$var";

我得到的输出是

$53: $=BAbc $? $53: $ hjkb

我想做的是删除所有 $ 和/或 ?和/或 $53 之后的空格:直到遇到第一个字符($ 或 ? 或空格除外)并保留 if $=B(我将其替换为 FLAGB 替换操作之前)

现在我无法找到为什么在 $53 之后的输出中会出现额外的空格:

$53: $=BAbc $? $53: $ hjkb

如果这个问题有点愚蠢,请原谅我的无知,我是 perl 的新手。

最佳答案

我觉得

s/(?<=\$53:).*?(?=.[^\$\?\s])//

应该没有点:

s/(?<=\$53:).*?(?=[^\$\?\s])//

那个人保留了 h 之前的空间作为前瞻。

关于regex - 在 perl 输出中得到一个意想不到的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20631146/

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