RegEx Java - Matcher tout sauf ce qui ce termine par ...

Résolu/Fermé
RayanGigs - 17 déc. 2014 à 21:14
 RayanGigs - 17 déc. 2014 à 21:58
Bonsoir,
Je recherche depuis un bon moment comment pourrai-je à travers une Regex Java matcher tout sauf ce qui ce se termine par quelchose, par exemple :

300 200 100 Mo

La regex doit prendre 300 et 200 mais pas 100 car il se termine par Mo ( ne pas matcher tous les chiffres qui se terminent par Mo ou Go ou To )

Merci

2 réponses

Merci d'avoir pris le temps de répondre,

Voila un petit exemple un peu plus claire:

Disque Dur SATA 3.5" 2014 500 Go

Je voudrais matcher tout sauf 500 Go (car après 500 on a Go). pour avoir au final

Disque Dur SATA 3.5" 2014
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
17 déc. 2014 à 21:52
Donc ton problème est plus simple, car il n'y a pas à découper "300" et "200" comme avant.

En gros ceci suffirait :
(.*) [0-9]+ [kMGT]o
0
RayanGigs > KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024
17 déc. 2014 à 21:58
Ca fonctionne Perfecto, Merci beaucoup KX
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
17 déc. 2014 à 21:37
Bonjour,

Déjà il faut bien avoir conscience que les expressions régulières ne peuvent pas tout faire. Ensuite dans ton cas bien particulier il faut savoir ce que tu veux matcher.

Tu ne veux pas matcher "100 Mo" d'accord, mais est-ce que ça veut dire que tu veux matcher "300 200" séparément, ou "300" et "200" séparément.
Comment est-ce que tu utilises cette expression régulière ensuite, est-ce que c'est avec un Scanner, un split, etc. La manière dont tu vas t'en servir va fortement influencer l'expression régulière en elle même.

De plus rien ne t'empêches de faire plusieurs passes, c'est à dire utiliser une expression régulière, faire un traitement, puis utiliser une seconde expression régulière pour finir le traitement (par exemple : détecter ce que tu veux supprimer, le remplacer puis récupérer ce que tu veux)
-1