我試圖從Linux Make文件中提取目標文件。下面是一些例子:Perl正則表達式:與可選多行匹配文本
英特爾E1000E:
e1000e-objs := 82571.o ich8lan.o 80003es2lan.o \
mac.o manage.o nvm.o phy.o \
param.o ethtool.o netdev.o ptp.o
Chelsio的T3:
cxgb3-objs := cxgb3_main.o ael1002.o vsc8211.o t3_hw.o mc5.o \
xgmac.o sge.o l2t.o cxgb3_offload.o aq100x.o
Atheros的ALX:
alx-objs := main.o ethtool.o hw.o
我怎樣才能讓一個正則表達式返回什麼之後:=考慮有多條線是可選的,可能有兩條以上的線?請注意,反斜槓是Makefile內容的一部分。
我只知道如何與像手動指定的新行數:
$obj_files_no_ext = "e1000";
my @filestmp = ($Makefile_contents =~ m/$obj_files_no_ext-objs\s*[\+\:]= (.*)\\\s*\n(.*)/g);
$ obj_files_no_ext是一個變量。我試圖編輯帖子以刪除第一個\但我需要更改至少6個字符。 –
@PeterSenna我不明白,你能解釋一下嗎? –
'$ obj_files_no_ext'是一個變量,在這個例子中OP的正則表達式實際上會被'e1000'替代。 – Jerry