确定是否跟随重复的字符串

时间:2012-02-01 23:34:21

标签: perl

如何确定重复字符串是否跟在字符串A后面。 例如:Stack Overflow,Stack将是真实的,因为Hello World,Random不会。

我试过了:

use strict;
my @strings = ("Hello World, Hello", "How are you, are");
foreach my $duplicate (@strings) {
   my @split = split(/,/, $duplicate);

   my $a = @split[0];
   my $b = @split[1];    
   if ($a =~ m/$b/) {
          print "Duplicate\n";
       } else {
          print "True\n";
       }
}

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

/(.+).*\1/

但请注意,即使是空格也可以是重复的字符串。此外,任何事物都可以在字符串及其重复之前和之后。您可能需要调整表达式以满足您的需求。

答案 1 :(得分:0)

你的脚本工作不是那么糟糕,只需用这种方式改变分割:

my @split = split(/\s*,\s*/, $duplicate);