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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     23 Nov 2002  14:17:20
 To : Alexey Sheynuk
 Subject : Re: Проблемы с логикой регулярных выражений
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Alexey Sheynuk.
 
  S>>> Итак. Есть строка. Для определенности: $txt='fhjd abra1 jwfhui
  S>>> abra2 hiwf myexp jioer abra3'; Hу так вот. Hам известно, что в
  S>>> строке есть фраза "myexp". Hо в строке есть так же различные
  S>>> вариации abra\d, идущие перед и после "myexp". Требуется выдрать
  S>>> ближайший abra\d слева от myexp. К примеру из наше строки, регэксп
  S>>> должен выдрать abra2.
  AS>> Я не знаю почему (случайно получилось), но ниже приведённый regexp
  AS>> работает так, как тебе надо.
  AS>> $txt =~ /(?:(abra\d).+?)+myexp/;
 
 AS>     еще вариант:
 AS>         $txt =~ /.*(abra\d)+.*myexp.*/;
 
 Этот не сработает. Съест первое abra\d вместо последнего.
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Проблемы с логикой регулярных выражений   Artem Chuprina   23 Nov 2002 14:17:20 
 Проблемы с логикой регулярных выражений   Alexey Sheynuk   24 Nov 2002 11:13:48 
Архивное /ru.perl/144542fb1bae0.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional