Comment supprimer tous les caractères d'une chaîne qui ne contient PAS: [a-zA-Z0-9\-\/_]
? En d'autres termes, je voudrais préciser ce que je veux plutôt que ce que je ne veux pas. Merci.PHP RegEx spécifie les caractères que je veux?
Répondre
manière la plus simple:
preg_replace("/[^a-zA-Z0-9-\/_]/", '', $string);
Une autre approche serait de faire un match et imploser alors les valeurs correspondantes.
Est-ce que cela éliminerait a-z, A-Z, 0-9, -, et et _? Je ne veux pas ça. Je veux garder ceux sans créer une ligne de 10kb de choses que je ne veux pas. –
Exactement, le petit '^' chapeau signifie * tout le reste sauf le truc ici. –
WOW! Je l'ai pris comme un symbole de début de chaîne. Toutes ces années et je n'avais aucune idée. Merci beaucoup. –
essayer les suivantes
preg_replace("/[^a-zA-Z0-9-\/_]/", "", $string);
Si vous voulez garder un "/" et "\"
preg_replace("/[^a-zA-Z0-9-\\\/_]/", '', $string);
Je suis sûr que la barre oblique inverse était seulement là pour échapper à l'avant-coup; Maintenant que j'ai ajouté le formatage du code à la question, vous pouvez voir qu'il y en a un devant le trait d'union. –
Oui, je peux le voir maintenant, merci –
Shortest façon de le faire:
echo(preg_replace('~[^\w-/]~i', '', 'H#el/-l0:0.'));
Sorties:
"Hel/-l00"
- 1. Lorsque je spécifie le port de SmtpClient, qu'est-ce que je spécifie exactement?
- 2. regex pour les caractères
- 3. Ruby Split avec regex - regex ne fait pas ce que je veux
- 4. PHP - Code de fait presque ce que je veux à
- 5. regex avec des caractères spéciaux dans php
- 6. caractères regex en vietnamien
- 7. Arrêtez une regex correspondant à * tout * après ce que je veux réellement correspondre!
- 8. HTML spécifie les pages imprimées?
- 9. Comment gérer tous les caractères ASCII (y compris les caractères spéciaux regex) dans une regex Perl?
- 10. RegEx pour extraire les caractères d'une chaîne
- 11. PHP regex simple,
- 12. Comment extraire les données que je veux dans NSString?
- 13. Je veux correspondre uniquement lancer des balises dans regex
- 14. Je veux caractères unescaped dans mon cookie (jquery)
- 15. Comment est-ce que je spécifie dans un manuscrit de Makefile.am que je veux seulement compiler des fichiers d'objet .o qui peuvent être liés plus tard?
- 16. Jquery load() chargement plus que je veux
- 17. Python imprime plus que je ne veux
- 18. Supprimer les caractères en utilisant Regex
- 19. php regex - extrait tout le texte avant certains caractères
- 20. Javascript RegEx - Je veux correspondre à un modèle autre que le premier occurance
- 21. Je veux sélectionner une liste particulière de mots contenant certains caractères en utilisant php
- 22. Regex Dépouiller Caractères spéciaux
- 23. répéter plusieurs caractères RegEx
- 24. correspondants non [a-zA-Z] caractères en PHP regex
- 25. Regex Exclure caractères Groupe
- 26. Remplacer Regex - Caractères multiples
- 27. compter les caractères dans php
- 28. VS2010 Installations. Je veux tout. Que dois-je installer?
- 29. PHP Expression régulière [n'accepte que les caractères sélectionnés]
- 30. NSStringPboardType donne xist plist pas la chaîne que je veux
Juste une note: Votre regex est apparu à l'origine sans la barre oblique inverse devant le tiret, car vous n'avez pas utilisé de backticks pour le formater. Les répondeurs l'ont tous copié de cette façon - et cela fonctionne - mais vous devriez continuer à vous en échapper de toute façon. Toutes les saveurs de regex ne sont pas aussi indulgentes que PHP. –