gpt4 book ai didi

regex - 如何在数据的位置打印匹配的字符串?

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

我试图在数据位置打印匹配的字符串,我该怎么做?

$at ="at";
@ar = <DATA>;
@xxv = map(m/$at/g, @ar);
print "@ar";
print @xxv;
print "\n";
__DATA__
atgacaagcagacccaggggatacgat

我期望的输出是

    atgacaagcagacccaggggatacgat
at at at

最佳答案

通过s///获取想要的输出

$at ="at";
$ar = <DATA>;
print $ar;
$ar =~ s/$at(*SKIP)(*F)|./ /g;
print $ar;
__DATA__
atgacaagcagacccaggggatacgat

输出:

atgacaagcagacccaggggatacgat
at at at

$at(*SKIP)(*F) 扩展变量 $at 并将存储在变量中的同一组字符与输入字符串匹配。跟随 (*SKIP)(*F) 会导致匹配失败并强制 | 右侧的模式与其余字符匹配。所以 . 匹配除被跳过的字符之外的所有字符。用空格替换那些匹配的字符将为您提供所需的输出。

引用资料:

关于regex - 如何在数据的位置打印匹配的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28163598/

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