Que serait le RegExp javascript pour tout ce qui n'est pas un -
ou un caractère de mot? J'ai essayé [^-\w]
, mais j'ai eu une erreur de console. Des idées?RegExp pour tout ce qui n'est pas un - ou un caractère de mot
Répondre
Avez-vous mis en avant des barres obliques?
var rex = /[^\w-]/;
fonctionne pour moi dans tous les navigateurs testés. (Note: je mets le - à la fin comme une bonne pratique, il ne se confond avec un jeton de gamme.)
Pour une raison quelconque, j'ai oublié ça. Il ne montre aucune erreur maintenant il ne fait tout simplement pas ce que je veux qu'il fasse. Doit être un bug dans une autre partie du code alors. – chromedude
Quelle est la fonction que vous utilisez dans quel contexte? 'String.replace()', 'String.match',' RegExp.test', ... sur la chaîne ...? – Lekensteyn
String.replace() – chromedude
-
est un caractère spécial dans les classes de caractères, indiquant les plages de caractères. Il devrait être échappé pour être interprété comme un littéral '-'. Donc, pour ne correspond pas à des mots et des -
, utilisez:
/[^\w\-]/
Oui vous pouvez. Essayez-le. –
Sauf que l'OP ne veut PAS faire correspondre le résultat. – Robusto
'\ w' est absolument parfait dans une classe de caractères. Il est souvent utilisé de cette manière pour raccourcir les expressions régulières. par exemple. '[a-zA-Z_0-9]' peut être réécrit comme '[\ w \ d]'. –
essayez ce qui suit dans votre console préférée
/[-\w]/.test('-')
/[-\w]/.test('word')
/[-\w]/.test('-w')
Je crois que vous avoir l'expression régulière correcte - rappelez-vous juste d'inclure dans les barres obliques:/[^ - \ w] /:
"-".match(/[^-\w]/)
null
"a".match(/[^-\w]/)
null
"0".match(/[^-\w]/)
null
" ".match(/[^-\w]/)
[" "]
- 1. Regex pour mot de passe qui nécessite un caractère numérique ou un caractère non-alphanumérique
- 2. Regexp: comment faire correspondre tout ce qui n'est pas dans un motif?
- 3. Regexp: comment supprimer tout sauf un autre regexp?
- 4. Recherche d'un caractère »dans un JavaScript RegExp
- 5. Expression régulière: Tout caractère qui n'est PAS une lettre ou un chiffre
- 6. Regex pour détecter tout ce qui vient après un mot-clé typedef/class?
- 7. mot de passe forte expression régulière qui correspond à tout caractère spécial
- 8. C++ Lecture de mots à partir d'un fichier texte, mot à mot ou caractère par caractère
- 9. Y at-il un caractère Unicode qui ressemble à un caractère ASCII (mais n'est pas égal)?
- 10. Besoin d'une regex pour correspondre à tout ce qui ne contient pas un «?
- 11. Qu'est-ce qui constitue un «mot» dans vim?
- 12. Expression régulière: remplacer tout mais pas un mot spécifique
- 13. Comment grep pour tout mot
- 14. Un code qui est un mot en avant et un autre mot en arrière
- 15. REGEX un mot dans un paragraphe, mais pas un mot contenant ce mot, sauf si c'est un pluriel
- 16. Ignorant un caractère avec limite de mot dans regex
- 17. regexp pour trouver ce modèle
- 18. Java Stack/Nest Count
- 19. Serait-ce un bon substitut pour javascript n'ayant pas un mot-clé statique?
- 20. MySQL - S'il commence par un nombre ou un caractère spécial
- 21. Comment utiliser des expressions régulières pour correspondre à tout avant un certain type de mot
- 22. MySql Pas comme Regexp?
- 23. Comment faire correspondre et remplacer un caractère non-mot entre des caractères de mot avec RegEx?
- 24. JS + Regexp: Correspond à tout sauf [[]]
- 25. Trouver tout ce qui est pas entre les balises spécifiques
- 26. Regexp pour extraire un mailto: adresse
- 27. Regex obtenir des lignes qui ont pas un mot
- 28. Pourquoi ce code lit-il tout '' pour le tout après le 4ème caractère?
- 29. Caractère qui peut être utilisé pour distinguer ensemble de regex et ce caractère ne doit pas être utilisé dans regex
- 30. Un pseudonyme solide regexp
QUELLE ERREUR? Quand vous allez voir votre médecin, lui dites-vous que vous êtes malade, point final? –
essayez d'escpaper le -? comme \ - – rapadura
si je l'utilise dans .replace() va-t-il remplacer tout sauf les mots et les tirets dans une chaîne? – chromedude