|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 25 Oct 2000 18:09:53 To : Pavel Kurnosoff Subject : Re: замена -------------------------------------------------------------------------------- <Pavel_Kurnosoff@p25.f736.n5030.z2.fidonet.org> wrote: PK> On Tue, 24 Oct 00 10:38:24 +0400 Artem Chuprina wrote: AL>> Как сделать из маски (с "*" и "?") регулярное выражение? AL>> по отдельности это можно записать как: 1) s/\*/.*?/ 2) s/\?/./ AL>> но поотдельности это писать нельзя, потому что программа будет работать AL>> неправильно AC>> А почему это нельзя писать по отдельности? AC>> $pattern =~ s/\*/.*?/; PK> ^ AC>> $pattern =~ s/\?/./; AC>> $value =~ /$pattern/; PK> ну и не то ты получишь в этом случае. hint: первым регекспом ты вставляешь PK> вопросы, которые второй регэксп снова заменит. а нельзя, у них PK> синтаксическое значение уже другое. Значит, наоборот. PK> а на самом деле проблемы нет - этот злощастный вопрос в первом регэкспе PK> просто не нужен ;) Hе факт. Я не помню, шелловские pattern'ы greedy или наоборот. Кстати, там еще не ., а [^/]... Так что задача несколько менее тривиальна, чем кажется на первый взгляд... -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/171216c0a603d.html, оценка из 5, голосов 10
|