et comme je ne veux pas qu'XLD soit dynamité...
^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+(|com|org|net|gov|biz|info|name|aero|fr|be|co.uk|it|es|de|info)+$
So even when following official standards, there are still trade-offs to be made. Don't blindly copy regular expressions from online libraries or discussion forums. Always test them on your own data and with your own applications
^[1-9]$|^\d{1,2}(0[1-9])|(1[0-9])|(2[0-9])|(3[0-1])$
J'espère qu'il va bien (en vacances ?), ça fait depuis le 22/08 qu'on ne l'a pas revu(plus particulièrement par notre ami JM allias Staple1600).
J'ai juste ôté quelques caractères superflusMJ13 à dit:^([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+(|com|org|net|gov|biz|info|name|aero|fr|be|co.uk|it|es|de|info)+$
^([a-zA-Z0-9_\.\-])+@(([a-zA-Z0-9\-])+\.)+(com|org|net|gov|biz|info|name|aero|fr|be|co.uk|it|es|de|info)+$
Ça, c'est plus que sûrMJ13 à dit:Don't blindly copy regular expressions from online libraries or discussion forums.
Là, je suis moins sûr. Logiquement, ça prends 1 seul chiffre de 0 à 9, ou 1 à 2 chiffres quelconques suivi de 2 limités à 31MJ13 à dit:^[1-9]$|^\d{1,2}(0[1-9])|(1[0-9])|(2[0-9])|(3[0-1])$
倲偞偯傮傳債Bon j'ai trouvé la soluce pour vous suivre : cours de chinois accéléré.
^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\d\d$
(^(0[1-9]|[12][0-9]|3[01])/(01|03|05|07|08|10|12)/(19|20)\d\d$)|(^(0[1-9]|[12][0-9]|30)/(04|06|09|11)/(19|20)\d\d$)|(^(0[1-9]|[12][0-9])/02/(19|20)\d\d$)
je vais méme pas oser y repondre voir avec l'ami JNP pour pas écrire de bêtisesRegExp
Bon j'ai trouvé la soluce pour vous suivre : cours de chinois accéléré.
Merci, mais sans jouer les faux modestes, il n'y a pas de connaissances, juste un peu de décodage (et de la logique) sur des fonctions malconnues, qui me paraissent mériter de sortir de l'ombreje suis trés impressionnée par tes connaissances JNP
Euh, Loches, c'est pas du côté de l'île de Seinchris à dit:J'espère qu'il n'y a pas cours tous les jours car Loches ce n'est pas la porte à côté même si tu n'y vas pas à cLOCHE pied !
Function Nettoyage(ANettoyer As String)
Application.Volatile
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = " {2,}"
Nettoyage = .Replace(ANettoyer, " ")
End With
End Function
...
C'est souvent que je récupère du texte avec des blancs multiples...Il faudra que j'essaie sous Word en supprimant aussi le blanc en début ou fin de phrase ainsi que les tabulations
Euh, l'espace n'étant pas un opérateur, il suffit de l'utilisern'existe-t-il pas un symbole permettant d'indiquer une espace (comme il en existe pour indiquer un début ou une fin de chaîne ou de mot ?
C'est par là que je passe aussi, bien que je ne connaissait pas ^wDans Word cela existe déjà en utilisant le cherche et remplace et en déroulant plus et spécial. Si on connaît déjà les codes c'est encore plus rapide
- ^w pour des espaces quel qu'en soit le nombre mais aussi les tabulations
donc remplacer ^w par espace réduit à 1 espace résultant ou supprime les tabulations.- ^t pour tabulation : si on veut en remplacer plusieurs par une ou en placer. Mais il est vrai que là, l'utilisation des expressions régulières permet d'en remplacer plusieurs d'un coup.
Comme le montre l'exemple que j'avais posté Word les gère.
Le plus difficile est de les écriredu moins pour moi - à noter que la fin de paragraphe est ^p : en utilisant cherche et remplace de ^w^p par ^p on enlève les espaces inutiles en fin de paragraphes et avec ^p^w remplacé par ^p ceux inutiles en début.