|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Aleksey Cheusov 2:5020/400 15 Sep 2002 18:49:54 To : Artem Chuprina Subject : Re: Как grep'ом поискать по ИЛИ? -------------------------------------------------------------------------------- Artem Chuprina <ran@ice.ru> writes: > Здравствуй, Aleksey Cheusov. > > >> SAK>> Люди, ткните пальцем, как grep заставить искать по ИЛИ из двух слов? > >> SAK>> Как по "И" я знаю, а вот "ИЛИ"? > AC> > > >> VW> egrep "(слово|слово)" > AC> > > AC> > Вот "И" как раз сложнее... > > AC> Кстати, а почему ни в одной regex библиотеке нет > AC> возможности пересекать/вычитать регулярные выражения. > > Сэр не знаком с perl? Hеа, не знаком. И мне даже не стыдно. Ужас! Предпочитаю не редактировать бинарные файлы. Гусары!!! Молчать !!! Hо я уже знаю, что сейчас будет... :)) Hо если в Perl отрицание есть - это хорошо. Hе знал. А вычитание в нем есть? > > AC> Если regex engine DFA-based, то это несложно делается и > AC> алгоритмы давно изветны. > > А есть уверенность, что с сохранением прочих свойств там все нормально? Ломы > туда закапываться, но известно, что отрицание - это лучший способ все сломать. > Кроме того, в MRE написано (сам не прикидывал), что с DFA невозможно > backreferences делать. Вот backreferences как-раз нужны ооочень редко. А вот вычитание пригодилось бы. > > AC> Что может быть естественнее отрицать petyu вот так > > AC> \!(petya) > AC> или вот так > AC> (.*\-petya) > > AC> вместо > AC> $|[^p]|p[^e]|pe[^t]|pet[^y]|pety[^a] > > Для более сложного выражения это будет уже недостаточно конечный автомат. Отрицание/вычитание/пересечение регулярных множеств остается регулярным множеством, так что здесь никаких проблем. > В > перле есть negative look-ahead и look-behind, но последний ограничен регексами Поищу в доках, а то что-то я не понял ;-) > константной длины. > > -- > Artem Chuprina > Communiware.net > RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 -- Best regards, Aleksey Cheusov. --- ifmail v.2.15dev5 * Origin: Science Soft (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/172837db9184b.html, оценка из 5, голосов 10
|