的次數我有一個像提取字符串之前和之後的關鍵字符串
$script = "mycommand param1=arnab user=user1 mapping=arn1:schema1,arn2:schema2"
我想在兩個變量後,提取mapping=
之前的一切,也都一個字符串。在這條線
$script_piece1 = $script =~ m/(.*)mapping=/;
但是我得到語法錯誤:
要提取的一切mapping=
之前我試過了。
如何正確執行此操作?
的次數我有一個像提取字符串之前和之後的關鍵字符串
$script = "mycommand param1=arnab user=user1 mapping=arn1:schema1,arn2:schema2"
我想在兩個變量後,提取mapping=
之前的一切,也都一個字符串。在這條線
$script_piece1 = $script =~ m/(.*)mapping=/;
但是我得到語法錯誤:
要提取的一切mapping=
之前我試過了。
如何正確執行此操作?
你的說法是完全有效的,但它會根據$script
是否包含字符串mapping=
你需要把正則表達式測試中列表環境設置$script_piece1
到真正或假值得到它返回的任何的內容捕獲的模式,你也可以像這樣一次抓住兩個部分
my ($piece1, $piece2) = $script =~ /(.*?)mapping=(.*)/;
但它的整潔爲split
,這樣
my ($piece1, $piece2) = split /mapping=/, $script, 2;
這行沒有語法錯誤 – Borodin
@Arnab我想你從行號1得到語法錯誤,因爲你錯過了分號。 – mkHun
噢,是的,語法錯誤是在更早的行中,因爲我有一個額外的「)」。但是,$ script_piece1會在您的答案中顯示爲null。無論如何,我正在嘗試你的解決方案,並會盡快回復到這裏 – Arnab