Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: замена   Artem Chuprina   25 Oct 2000 18:09:53 
 Re: замена   Pavel Kurnosoff   26 Oct 2000 15:10:49 
 замена   Anatolij Kupriyanov   27 Oct 2000 21:56:42 
Архивное /ru.perl/171216c0a603d.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional