我在Perl中的數組具有這樣的值:正則表達式在Perl數組
$Array[0] = "[a][b][c] good bad";
$Array[1] = "[d] apple";
$Array[2] = "[e][f] mango ";
$Array[3] = "[g] capgemini";
我需要一個正EXP指找到[]
之間的所有文本。
我寫了這個:
my @matched = grep {$_ ne ""} map { m/\[(.*?)\]/; $1; } @Array;
然而,這僅找到了第一場比賽,像a
從$Array[0]
,e
從$Array[2]
。
我想從$Array[0]
得到他們所有的人,如a,b,c
。
實際上,在每個數組元素中是否有散列引用,或者是否在花括號{}'周圍引入了某種引用? – TLP 2013-04-09 08:52:22
我使用{}以免與[]混淆。它只是一個數組,而「」中的每一行都是它的元素。 – 2013-04-09 09:02:07
從現在開始,請將您的示例數據作爲有效的Perl代碼發佈,或者作爲公認的數據格式發佈。您可以使用[Data :: Dumper](http://p3rl.org/Data::Dumper),[Data :: Printer](http://p3rl.org/Data::Printer),[JSON ](http://p3rl.org/JSON),[YAML](http://p3rl.org/YAML::Any)。 – 2013-04-09 16:52:37