Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перл
 
 автор: dima2207   (12.12.2010 в 12:16)   письмо автору
 
 

Всем привет!
как загнать в массив на перле типа как в пхп preg_match_all
и как потом извлечь данные ?

  Ответить  
 
 автор: lightning.say   (15.12.2010 в 06:40)   письмо автору
 
   для: dima2207   (12.12.2010 в 12:16)
 

а почему в пхп не сделаешь?

  Ответить  
 
 автор: SHAman   (20.12.2010 в 19:20)   письмо автору
 
   для: lightning.say   (15.12.2010 в 06:40)
 

Очевидно, автор знает как это сделать в пхп. Но тем не менее, спрашивает про перл. Не находите ваш вопрос излишним? Я думаю, ответ на него будет выглядеть примерно как "так надо".

  Ответить  
 
 автор: SHAman   (20.12.2010 в 19:10)   письмо автору
 
   для: dima2207   (12.12.2010 в 12:16)
 

Если правильно понял вопрос, то так:

my $var = "сиськи-письки";
my @result = $var =~ /^(.*)-(.*)$/gis;


@result будет содержать два значения.

  Ответить  
 
 автор: Trianon   (20.12.2010 в 22:23)   письмо автору
 
   для: SHAman   (20.12.2010 в 19:10)
 

Здесь @result получает значения двух подмасок одного сопоставления с шаблоном.
А автора, если я правильно понял, интересовало, как выскрести массив всех найденных попаданий шаблона в строке.
К примеру, чтоб по шаблону /[а-яё]+/ собрался массив всех слов из строчных русских букв.
А если шаблон с подмасками, то массив всех выборок таких подмасок.

  Ответить  
 
 автор: SHAman   (22.12.2010 в 13:00)   письмо автору
 
   для: Trianon   (20.12.2010 в 22:23)
 

Нет, модификатор 'g' регулярного выражения равен постфиксу '_all' в имени функции php.
Пример

my $text = "Слово 12-38 цифры 12-33 конец";
my @result = $text =~ /((\d\d)-(\d\d))/gis;
dumper(\@result);


Выведет
$VAR1 = [
          "12-38",
          "12",
          "38",
          "12-33",
          "12",
          "33"
        ];

  Ответить  
 
 автор: Trianon   (22.12.2010 в 13:25)   письмо автору
 
   для: SHAman   (22.12.2010 в 13:00)
 

гуд.
Несколько непривычно, что Всё внавал, но тем не менее данные получить можно. :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования