2

我有一个像这样的字符串:

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 ...。

4

1 回答 1

7

让正则表达式向前看而不用捕获(?=...)

my @lines = split /\n(?=[a-z])/, $input;
于 2013-04-30T07:12:00.347 回答