У меня есть массив в Perl, который имеет значение, как это:Regex в PERL массива
$Array[0] = "[a][b][c] good bad";
$Array[1] = "[d] apple";
$Array[2] = "[e][f] mango ";
$Array[3] = "[g] capgemini";
мне нужна регулярная ехр, который находит весь текст между []
.
Я написал это:
my @matched = grep {$_ ne ""} map { m/\[(.*?)\]/; $1; } @Array;
Однако это находит только первый матч, как a
из $Array[0]
, e
от $Array[2]
.
Я хочу получить все из них, как a,b,c
от $Array[0]
.
У вас на самом деле есть хеш-ссылка в каждом элементе массива, или вы разместили какую-то цитату вокруг фигурных скобок '{}'? – TLP
Я использовал {}, чтобы не путать с []. Это массив, и каждая строка внутри «" - это его элемент. –
С этого момента отправьте свои данные примера как действительный код 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). –