[Regex] Pb avec la création d'une expression rationnelle

Bonjour à tous,

Dans un document texte ouvert sous Libre Office, j’ai une ribambelle de lignes sous la forme : “un nb quelconque de caractères, suivi d’un point, suivi de 13 chiffres, suivi d’un espace et de deux points”.

Je souhaite remplacer la chaîne “suivi d’un point, suivi de 13 chiffres, suivi d’un espace et de deux points” par juste “un espace suivi de deux points”.
Exemple : [mono]i4@bu#bDg9V&5Y(78MgJ4S9#e.P7LaQ3_*z$5Kw3Ta1-SebHi2l.1408804989221 :[/mono] devra être remplacé par : [mono]i4@bu#bDg9V&5Y(78MgJ4S9#e.P7LaQ3_*z$5Kw3Ta1-SebHi2l :[/mono].

Sauf que je n’arrive pas à trouver la bonne expression !
J’arrive à détecter la chaîne “suivi de 13 chiffres, suivi d’un espace et enfin de deux points” mais pas le “suivi d’un point” au début de celle-ci : le motif [mono][0-9]{13}\ :$[/mono] match mais avec [mono].[0-9]{13}\ :$[/mono] j’obtiens un “Search key not found” et je n’arrive pas à comprendre pourquoi.

J’ai fait plusieurs tentatives avec notamment les motifs :
.[0-9]{13}\ :blush:
(.)+[0-9]{13}\ :blush:
^.
.[0-9]{13}\ :blush:
^.*(.)+[0-9]{13}\ :blush:
etc, etc…

D’où vient mon erreur, svp ?

J’ai aussi essayé de chercher à l’aide de grep (ou Vi) et comme ça ne marchait pas, j’ai testé une expression toute simple et là c’est encore pire : [mono][0-9]{2}[/mono] (ou [mono]/[0-9]{2}[/mono] sous Vi) n’aboutit pas !
(par contre [mono][0-9][0-9][/mono] elle fonctionne)

Je n’y comprends plus rien :blush:

Merci d’avance pour votre aide…

J’ai fait le test en python, avec le module [mono]re[/mono], et ça a l’air de bien fonctionner en utilisant [mono]"^.*.[0-9]{13} :$"[/mono].
Je vais voir ce que ça donne avec [mono]grep[/mono] dès que possible…

EDIT:
Je confirme, ça marche avec la commande :

echo "i4@bu#bDg9V&5Y(78MgJ4S9#e.P7LaQ3_*z$5Kw3Ta1-SebHi2l.1408804989221 :" | egrep "^.*\.[0-9]{13} :$"

Si je peux me permettre, j’utilise souvent regexr.com/ pour construire rapidement une regex que je peux vérifier visuellement très facilement :wink:

seb-ksl, tu as eu raison de te permettre :mrgreen: car grâce à ton lien (merci à toi) j’ai eu confirmation que mon expression rationnelle était bonne. (ouf !)
Conclusion : elle DOIT matcher avec grep.

Merci à toi aussi N3mesis98 car tu m’as fait découvrir egrep. (qui n’est autre qu’un grep -E)
Je n’avais pas pensé à cette option, et maintenant ma regex match correctement.
Du coup, sed m’a permit de modifier comme je voulais mon fichier.

Petite info en passant : pour que cette même recherche fonctionne dans Vi, il faut activer le mode “very magic” des RE (Regular Expression) : [mono]/\v.[0-9]{13}\ :$[/mono]

Merci encore !
A+