Bonjour,
Je ne suis pas encore très à l'aise avec les expressions régulières dans Matlab, et je n'arrive pas à faire la chose suivante, qui paraît pourtant très simple :
Pour simplifier j'ai une chaîne de caractères str (lue dans un fichier ASCII) contenant des valeurs numériques ainsi que des mots, séparés par des caractères d'espacement, et je voudrai repérer tous les mots qui contiennent au moins un caractère qui n'est PAS '0','1','2','3','4','5','6','7','8','9','.','E','-'. (pour ensuite les remplacer par NaN avec regexprep)
Bref par exemple, dans la string str suivante
str = '123 0.123456 1.2E-5 4.5 MOT EC20 1P'
je voudrais repérer les 3 derniers ...
Dans les expressions régulières, il y un OR logique (|) mais je n'ai pas l'impression qu'il y ait le NOT logique qui me faudrait ici, car en fait je cherche les motifs suivants :
NOT \<[0-9E-+.]*\>
(Ou alors encore mieux, peut-on repérer les expressions régulières qui ont un "sens numérique" ? au final je stocke tout ça dans une matrice avec str2num)
Merci par avance !
Partager