格式中包含以下數據。從文件中獲取特定內容
##############################
# 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