|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 05 Feb 2002 19:02:53 To : "Vladimir Marunin" Subject : Re: Много раз сравнить с регеэкспом -------------------------------------------------------------------------------- Здравствуй, Vladimir Marunin. VM> Hello, All VM> Hикак не могу такую проблему решить: есть список регэкспов, на вход VM> поступают строки и надо определить какому именно регэкспу эта строка VM> соответствует. Hо периодически надо переконфигугироваться, поэтому /o нее VM> подходит :( VM> В perldoc есть такой пример VM> @popstates = qw(CO ON MI WI MN); VM> @poppats = map { qr/\b$_\b/i } @popstates; VM> while (defined($line = <>)) { VM> for $patobj (@poppats) { VM> print $line if $line =~ /$patobj/; VM> } VM> } VM> Hо тоже не очень, так как тут не определяется какому именно регэкспу она VM> подошла. А в чем проблема оттуда выдать еще и регекс? Hо вообще (это подробно рассматривается в Mastering Regular Expressions) тут делается хитрый прием - делается строковый eval с /o тому коду, который проверяет одну строку по всем этим выражениям, обрамленному sub. При переконфигурации еще раз делается тот же eval. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/63590f280624.html, оценка из 5, голосов 10
|