$string = 'a=1;b=2';
use Data::Dumper;
@array = split("; ?", $string);
print Dumper(\@array);
輸出:這裏如何拆分工作?
$VAR1 = [
'a=1',
'b=2'
];
任何人都知道它是如何工作"; ?"
這裏不是正則表達式,但工程很喜歡正則表達式,所以我不明白?
$string = 'a=1;b=2';
use Data::Dumper;
@array = split("; ?", $string);
print Dumper(\@array);
輸出:這裏如何拆分工作?
$VAR1 = [
'a=1',
'b=2'
];
任何人都知道它是如何工作"; ?"
這裏不是正則表達式,但工程很喜歡正則表達式,所以我不明白?
我認爲它的意思是「分號後跟可選空間(只有一個或零)」。
這不是正則表達式,但工作得很像正則表達式,所以我不明白。
要分割的模式參數始終被視爲正則表達式(儘管如此,最好不要使用字符串)。唯一的例外是「單個空間」,意思是「分割空白」
分號(the;)後跟一個可選的(?)空格(the)。
split
的第一個參數是正則表達式。所以我寧願寫split /; ?/, $string;
。 當你爲第一個參數使用一個字符串時,它只是意味着正則表達式可以改變,並且每次運行分割時都必須重新編譯。詳情請參閱perldoc -f split
。
正則表達式可以被讀取; 字符「;」可選地接着是空間。有關詳細信息,請參閱perlretut和perlreref。
我會寫它'/; \ h */x'自己。也許。 – tchrist
可選擇遵循,而不是最終跟隨。 –
我的不好。我是法國人,我會用法語說「éventuellement」,因此我的錯誤。 – 2011-08-22 04:06:19
但它不是正則表達式,它只是字符串。 – asker
你的意思是''''和'/ \ s + /'是一樣的嗎? – asker
是的,差不多:http://perldoc.perl.org/functions/split.html。 「//s + /上的分割就像是分割(''),除了任何前導空白都會產生空的第一個字段。」 – Thilo