如何使用正则表达式从文件中提取行并在perl中推送到变量/数组

时间:2014-05-04 19:57:31

标签: regex perl

我正在寻找帮助来提取具有“开始”和“结束”关键字的特定行 输入文件:

adfafaf
adfafafas
adfafaf
Detail=Process Start Time   : TIMESTAMP '2014-02-14 01:20:58.918757'
AAAAAAAA
BBBBBBBB
CCCCCCCC
DDDDDDDD
End Time                    : TIMESTAMP '2014-02-14 01:21:49.520818'
adffffffff
adfffff
adfff

期望的输出: 下面的行需要移动到字符串/数组。

Detail=Process Start Time   : TIMESTAMP '2014-02-14 01:20:58.918757'
AAAAAAAA
BBBBBBBB
CCCCCCCC
DDDDDDDD
End Time                    : TIMESTAMP '2014-02-14 01:21:49.520818'

1 个答案:

答案 0 :(得分:0)

这可以获得你的行

if ($subject =~ m/^[^\n]*?Start.*?End[^\n]+/sm) {$result = $&;}

这是全点模式,因此.*可以匹配多行。要在最后一行的末尾停止,我们使用匹配除换行符之外的所有字符的[^\n]+