gpt4 book ai didi

regex - Perl 模式匹配,我们打印所有匹配部分,但只打印匹配部分(而不是其余部分)

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

我正在寻找在 Perl 中执行此操作的解决方案。

例子:如果我的字符串是:

my $content = 'toto /app/blah titi\nhuh/app/ttt wew';

我的模式是:/app/something 我想得到数组中的输出:/app/blah/app/ttt.

(这基本上就是 grep -E -o '\/app\/[a-z]*' 所做的)

我无法让它工作!我试过:

my $content = 'toto /app/blah titi\nhuh/app/ttt wew';
$content =~ m/(\/app\/[a-z]*)/;
print "Group: $1 $2\n";

但这只会打印:/app/blah(不是/app/ttt)

无论如何,我不知道如何将结果放入表格中:

my (@table) = @_;

该表不包含任何内容!

谢谢

最佳答案

您想使用 /g使正则表达式将所有匹配项作为列表返回的修饰符:

@table = $content =~ m/(\/app\/[a-z]*)/g;
print "Group: @table\n";

此外,@_与正则表达式没有任何关系。相反,它是传递给当前子例程的参数列表。

关于regex - Perl 模式匹配,我们打印所有匹配部分,但只打印匹配部分(而不是其余部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10507076/

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