perl使用正则表达式拆分字符串,但将分隔符连接到输出

时间:2013-04-30 06:58:11

标签: string perl split

我有一个字符串:

za b c
   x y
   x z
ya b c
   x y
   x z

现在如果我分成:

my @lines = split /\n([a-z])/, $input;
my @sorted_lines = sort @lines;

输入行分为三部分:

za b c
   x y
   x z

y

a b c
  x y
  x z

有没有办法根据换行符+某些字符进行拆分,但是将该字符保留到下一个标记?我的意思是我希望输出只有两个标记:1)za ...和2)ya ....

1 个答案:

答案 0 :(得分:6)

将正则表达式设为look ahead而不使用(?=...)捕获:

my @lines = split /\n(?=[a-z])/, $input;