Match de chemin d'accès d'Url sans chaîne de requête
Je voudrais correspondre à un chemin d'accès à une Url, mais en ignorant la chaîne de requête.
La regex doit inclure une option de barre oblique avant la querystring.
Un exemple d'url qui devrait donner une correspondance valide:
/path/?a=123&b=123
/path?a=123&b=123
Si la chaîne de caractères " /" chemin doit correspondre à l'url ci-dessus.
J'ai essayé les regex: (/path[^?]+).*
Mais cela ne fait correspondre les urls comme le premier exemple ci-dessus: /path/?a=123&b=123
Une idée de comment je pourrais aller sur le faire correspondre le deuxième exemple sans le slash ainsi?
Regex est une exigence.
- (/path[?]+|/chemin/[?]+).*
Vous devez vous connecter pour publier un commentaire.
Pas besoin de regexp:
Si vous en avez vraiment besoin, alors essayez ceci:
MODIFIER en Fait le plus précis regexp devrait être:
parce que vous voulez correspondre
/path
ou/path/
ou/path?something
ou/path/?something
et rien d'autre. Notez que?
signifie "plus d'un", tandis que\?
signifie un point d'interrogation.BTW: Quel genre de la bibliothèque de routage ne pas manipuler les chaînes de requête?? Je suggère d'utiliser quelque chose d'autre.
http://jsfiddle.net/bJcX3/