The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как применить регулярные выражения на лету"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"Как применить регулярные выражения на лету"  +/
Сообщение от kydesnik email(ok) on 26-Апр-12, 11:49 
Есть исходная строка (а точнее большой файл).
В зависимости от ситуации надо применить определенное регулярное выражение.
Допустим регулярные выражения помещаный в массив.
Как мне на лету применить регулярное выражение.

Например (пример чуток корявый, не пинайте, просто хотелось передать суть вопроса более наглядно):
my $string_search = "Hello 77!";
my $string_reg[0] = "\s(\d+)";
$string_reg[1] = "(\w+)\s";

if ($string_search =~ /$string_reg[0]/gi) # прекрасно понимаю что так нельзя делать, но очень хочется на лету применять нужную регулярку
{
    print "COOOL!!!";
}

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как применить регулярные выражения на лету"  +/
Сообщение от parad (ok) on 26-Апр-12, 12:06 
my @rg = ( qr/\s(\d+)/, qr/(\w+)\s/ );

if( ' 11' =~ $rg[0] )
    { print "A\n"; }

if( ' 11' =~ $rg[1] )
    { print "B\n"; }

зри в поисковике perl regexp compile

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как применить регулярные выражения на лету"  +/
Сообщение от kydesnik email(ok) on 26-Апр-12, 12:15 
> my @rg = ( qr/\s(\d+)/, qr/(\w+)\s/ );
> if( ' 11' =~ $rg[0] )
>     { print "A\n"; }
> if( ' 11' =~ $rg[1] )
>     { print "B\n"; }
> зри в поисковике perl regexp compile

Блин, parad, спасибо огромное. А то мозг чуть не сломал. Все оказалось просто, но почему-то сам до этой реализации не додумался. Понял для себя что не знал как записать в массив регулярку, а ты ее просто записал qr/\s(\d+)/. Еще раз спасибо за правильное рабочее решение моей проблемы и за оперативность отдельный поклон.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру