gpt4 book ai didi

regex - 在 Perl 中的符号后提取字符串

转载 作者:行者123 更新时间:2023-12-01 07:18:12 32 4
gpt4 key购买 nike

如何在 Perl 中的符号后提取字符串?

我尝试进行一些搜索,但即使我找到的代码也不起作用。

我试图在冒号后提取字符串。所以我想显示冒号后的所有内容。

例子:

string = day1: string over here

substring = string over here

到目前为止,我已经尝试过:
$substring = $string=~ /(\:.*)\s*$/;

但它只会一遍又一遍地输出数字 1。

最佳答案

这是因为标量上下文中的模式匹配是 bool 测试。如果要捕获括号内容(捕获组),则需要一个列表上下文。如果列表只有一个元素也没关系:

尝试这个:

 my ( $substring ) = $string=~ /(\:.*)\s*$/;

差异可能有点微妙,但基本上 - 我们将模式匹配中的“所有命中”分配给一个列表......该列表包含一个元素。

注意 - 你可以这样做:
my @matches = $string =~ m/(.)/g; 

并返回多个“点击”。如果您按上述操作,您将只会获得第一场比赛 - 鉴于您的模式,这无关紧要,但您可以这样做:
my ( $key, $value ) = $string =~ m/(\w+)=(\w+)/; 

例如。

关于regex - 在 Perl 中的符号后提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33233166/

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