L'expression rationnelle qui correspond à rien, sauf pour tous les espaces
J'ai besoin d'un (javascript conforme) regex qui va correspondre à n'importe quelle chaîne, à l'exception d'une chaîne qui ne contient que des espaces. Cas:
" " (one space) => doesn't match
" " (multiple adjacent spaces) => doesn't match
"foo" (no whitespace) => matches
"foo bar" (whitespace between non-whitespace) => matches
"foo " (trailing whitespace) => matches
" foo" (leading whitespace) => matches
" foo " (leading and trailing whitespace) => matches
- Par curiosité, avez-vous essayez de faire une recherche pour cette première?
- Ouais j'ai fait, totalement oublié le démenti la version de \s bien.. doh! Merci à tous ceux qui ont répondu!
- Au lieu d'utiliser des regex, vous pouvez également tester
if (str.trim()){ //matches }
Vous devez vous connecter pour publier un commentaire.
Cela ressemble pour au moins un non espace.
Je suppose que je suis en supposant qu'une chaîne vide doivent être considérés comme des espaces uniquement.
Si une chaîne vide (qui, techniquement, ne contient pas tous les espaces, car il ne contient rien) doit passer le test, puis de le changer pour...
Essayer cette expression:
\S entend de tout caractère non-blanc.
+
.démo :
de travail de démonstration : http://jsfiddle.net/PNtfH/1/
[Ne suis pas je suis]'s réponse est le meilleur:
Sinon, vous pouvez faire: