Sujet : Re: Regex qui supprime tout le reste de la ligne après le premier espace
De : news (at) *nospam* pasdenom.info (yamo')
Groupes : fr.comp.lang.regexpDate : 09. Dec 2024, 08:52:10
Autres entêtes
Organisation : <http://pasdenom.info/news.html>
Message-ID : <vj67ja$an7$1@rasp.pasdenom.info>
References : 1 2 3
User-Agent : NewsPortal/0.52.a8 ( https://gitlab.com/yamo-nntp/newsportal )
Salut,
Merci à vous deux !
Olivier Miakinen a écrit :
Le 08/12/2024 13:29, j'écrivais :
1re solution sans assertions
============================
Remplacer :
/^([^:][^ ]*?) .*/
par :
\1
Seulement ?
Cette 1re solution peut convenir si ton moteur de regex n'est pas de type PCRE.
Encore un truc qui me rebute avec les regex mais c'est une des joies de
l'informatique où chacun peut développer sa norme dans son coin...
Attention, selon ton type de regex il faudra peut-être écrire \( et \) à
la place de ( et ), ou (inclusif) écrire $1 au lieu de \1.
Quand je comprends ce que je fais, j´échappe les caractères "spéciaux".
N'étant pas de type PCRE, il y a différentes « saveurs » de regex, d'où les
différences possibles.
C'est un monde étrange ces regex...
2e solution avec assertions
===========================
Remplacer :
/(?<=^[^:][^ ]*?) .*/
par rien.
!?
Cette 2de solution est pour les regex de type PCRE.
Je vais regarder la solution de Jo Engo si elle fonctionne.
Avant de peut-être un jour l'appliquer avec sed ou perl (-E ou -P?), je
vais probablement utiliser un clickodrome comme BlueFish avant de copier le
résultat sur le serveur...
Je sais qu'on peut directement les utiliser dans vim* mais je ne sais pas si
je vais atteindre le niveau de confiance suffisant...
* je n'ai pas regardé si nano est aussi puissant à ce niveau là.
-- Stéphane