J'ai une expression régulière comme suit:
^/[a-z0-9]+$
Cela correspond à des chaînes telles que /hello
ou /hello123
.
Cependant, j'aimerais qu'il exclue quelques valeurs de chaîne telles que /ignoreme
et /ignoreme2
.
J'ai essayé quelques variantes mais je n'arrive pas à en faire fonctionner!
Ma dernière tentative faible a été
^/(((?!ignoreme)|(?!ignoreme2))[a-z0-9])+$
Toute aide serait grandement appréciée :-)
Réponses:
Voici encore une autre façon (en utilisant une perspective négative ):
Note: Il n'y a qu'une seule expression de capture:
([a-z0-9]+)
.la source
(\?(.+))?$
devrait être rapide. Je ne m'inquiéterais pas trop de la vitesse.java.util.regex.Pattern
classe de Java .Cela devrait le faire:
Vous pouvez ajouter autant de mots ignorés que vous le souhaitez, voici une implémentation PHP simple:
la source
Comme vous voulez exclure les deux mots, vous avez besoin d'une conjonction:
Maintenant, les deux conditions doivent être remplies (ni ignoreme ni ignoreme2 ne sont autorisés) pour avoir une correspondance.
la source
/ignoremenot
ce qui/
est suivi parignoreme
.