Я пытаюсь совместить с регулярным выражением в perl различные части текста, которые не находятся в одной строке.regex maching после новой строки в perl
У меня есть файл размером 200 Мб приблиз со всех случаях, подобных следующему примеру:
rewfww
vfresrgt
rter
*** BLOCK 049 Aeee/Под ред "ewewew" U 141202 0206
BLAH1
BLAH2
END
и я хочу, чтобы извлечь все, что находится в той же строке после "***" в $ 1, BLAH1 в $ 2 и BLAH2 в $ 3.
я попытался следующие без успеха:
открытого (архив, "C: /Users/g/Desktop/blahs.txt") или умереть "умереть \ п";
while(< archive>){
if($_ =~ /^\*\*\*(.*)\n(.*)/s){
print $1;
print $2;
}
}
Еще одна сложность: я не знаю, сколько BLAH в каждом случае. Возможно, в одном случае есть только BLAH1, другой случай с BLAH1, BLAH2 и BLAH3 и т. Д. Единственное, что обязательно - это окончательный «КОНЕЦ», который отделяет случаи.
С уважением
perfect, thats, что я хочу, но где я помещаю эту вещь в код, который я разместил? –
@GuidoPujadas сделал эту работу – vks