gpt4 book ai didi

regex - 如何在perl中拆分具有多个模式的字符串?

转载 作者:行者123 更新时间:2023-12-03 21:02:45 26 4
gpt4 key购买 nike

我想用多种模式分割一个字符串:

前任。

my $string= "10:10:10, 12/1/2011";

my @string = split(/firstpattern/secondpattern/thirdpattern/, $string);

foreach(@string) {
print "$_\n";
}

我想要输出:
10
10
10
12
1
2011

这样做的正确方法是什么?

最佳答案

使用 character class在正则表达式分隔符中匹配一组可能的分隔符。

my $string= "10:10:10, 12/1/2011";
my @string = split /[:,\s\/]+/, $string;

foreach(@string) {
print "$_\n";
}

说明
  • 双斜线/.../表示要匹配的正则表达式或模式。
  • 方括号对[...]表示正则表达式的字符类。
  • 里面是可以匹配的可能字符集:冒号 : , 逗号 , , 任何类型的空格字符 \s , 和正斜杠 \/ (反斜杠作为转义字符)。
  • +需要匹配 1 个或多个紧邻其前面的字符,在这种情况下是整个字符类。如果没有这个,逗号空间将被视为 2 个单独的分隔符,在结果中为您提供一个额外的空字符串。
  • 关于regex - 如何在perl中拆分具有多个模式的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8252547/

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