On Mon, Jul 19, 2004 at 03:12:10PM +0300, Alexander Shopov wrote:
> Здравейте,
> какъв е израза за напасване на отрицания в регулярните изрази?
> Например:
> abv
> напасва всички редове, които съдържат
> abv
> 
> Как напасвам редовете, които не съдържат abv?

Кратко и ясно: не можеш :(  Регулярните изрази работят за откриване
на съвпадения, не на несъвпадения...  Има едно изключение, виж по-долу,
но на теб няма да ти свърши работа.

[snip]
> Търся решение, което да роботи в GNU sed и awk.
> 
> Не искам да правя шашмалогии с пускане на sed с -n, и след това магии с 
> бранчове и p команда.

Не, със sed и awk няма да стане.  Единственото, което може да използва
регулярни изрази и да отбележи НЕсъвпадения, е regexp engine в по-новите
версии на Perl: мисля, че от 5.6 нататък (със сигурност в 5.7 и 5.8) се
поддържат lookaheads, които ти позволяват да направиш ^(?!.*abv)
Sed/awk обаче не поддържат такъв синтаксис.

Поздрави,
Петър

-- 
Peter Pentchev  [EMAIL PROTECTED]    [EMAIL PROTECTED]    [EMAIL PROTECTED]
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
because I didn't think of a good beginning of it.

Attachment: pgpXknTb2weSl.pgp
Description: PGP signature

Reply via email to