格式中包含以下数据。从文件中获取特定内容
##############################
# A_Data
##############################
A_Data += data1
data2
data3
data4
###############################
# B_Data
###############################
B_Data += data5
data6
###############################
# C_Data
###############################
C_Data += data7
欲分别提取出的数据,如:
A_Data (e.g.Array)
data1
data2
data3
data4
同样地,对于B_data和C_DATA这样我可以单独显示它。 用我的剧本,我能得到
A_Data += data1
data2
data3
data4
B_Data += data5
data6
C_Data += data7
我知道的多行模式的情况下,我用Google搜索了很多次,但我无法得到它。 请帮我解决这个问题,因为我是在Perl中使用正则表达式的新手。
我迄今为止尝试:
我把文件数据数组,然后尝试应用正则表达式
@array1;
for (my $i=0;$i < $length;$i++)
{
$data[$i]=~ s/#.*//;
#$data[$i]=~ /[A_Data](.*?)[B_Data]/; ## trying to get data in between those two data.
print $data[$i]."\n";
}
显示您的代码。 – daxim 2012-08-16 18:52:01
我不确定我会为此使用多行正则表达式。一个表达式来解析出各条线本身。但我会手动进行状态转换。 – 2012-08-16 18:55:07
这是不明显的,你已经尝试过或你需要帮助。请编辑你的问题。 – tripleee 2012-08-16 18:56:28