[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] problem avec regexp



> Je voudrais pouvoir enlever, sur une page html, des portions
> de texte entre deux tags donnés.
> J'avas pensé à un truc du genre:
> sed 's:<TAG>.*</TAG>::g'

perl -pne 's/<TAG>.*?<\/TAG>//g'

Le "?" derrière le "*" en perl permet de lui dire d'utiliser le
mode "non-greedy" pour "*", càd qu'il fait le match pour la chaîne
la plus courte et non la plus longue.

ex.:

echo "foo<xy>bar</xy>spam<xy>eggs</xy>end" | perl -pne 's/<xy>.*?<\/xy>//g;'

donne:
foospamend

-- 
  -o) Pascal Bleser   ATOS Origin/Aachen(DE) |
  /\\         <pascal.bleser@atosorigin.com> |
 _\_v <guru@linuxbe.org>                     |
---------------------------------------------|
Jesus saves,Buddha makes incremental backups :
---------------------------------------------'
_______________________________________________
Linux Mailing List
Archives: http://unixtech.be/mailman/listinfo/linux