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

String perl使用正则表达式拆分字符串,但将分隔符连接到输出,string,perl,split,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 有没有一种方法可以基于换行符+某个字符进行拆分,但将该字符保留到下一个标记?我的意思是我希望输出只有两个标

我有一个字符串,比如:

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…

在不使用
(?=…)
捕获的情况下将正则表达式设置为:


你是说
[a-z]
?啊,是的。谢谢我错过了正则表达式。
my @lines = split /\n(?=[a-z])/, $input;