Sujet : Re: Regex qui supprime tout le reste de la ligne après le premier espace
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.regexpDate : 09. Dec 2024, 12:34:14
Autres entêtes
Organisation : There's no cabale
Message-ID : <vj6kjn$281a$1@cabale.usenet-fr.net>
References : 1 2 3
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Le 09/12/2024 09:03, yamo' a écrit :
sed '/^:/!s/ .*$//' fichier.txt
semble faire le job, mais ce n'est pas moi qui l'ai écrit :o)
Pour moi c'est, à l'exception des plus simples, presque aussi obscur que du
mandarin...
J'ai expliqué cette commande sed dans ma réponse à Jo Engo.
Surtout que j'ai le souvenir que par exemple ^ a plusieurs significations...
Il y a en tout et pour tout deux contextes dans les regexp, à savoir le contexte
global ou celui des classes de caractères (entre crochets []). Dans le contexte
global, ^ désigne le début de la ligne ou le début du texte. Tandis qu'au tout
début d'une classe de caractères cela signifie « NON » : [0-9] c'est n'importe
quel chiffre entre 0 et 9, alors que [^0-9] c'est n'importe quel caractère sauf
un chiffre entre 0 et 9.
Et je les ai pris en grippe dès le départ.
Avec un peu d'aide de ma part, DV a rédigé une doc pour les débutants que je
trouve particulièrement claire et accessible. Elle est très orientée pour
le logiciel MacCafé, mais elle reste pertinente dans la plupart des autres
cas (particulièrement pour PCRE) et me semble facile à lire.
Voir <
http://mc.yakakwatik.org/regex/fr/>.
-- Olivier Miakinen