Est-il possible de créer une regex qui ne correspondra à une valeur que si elle n'est pas précédée d'une autre valeur? Par exemple, tester uniquement vrai si ?
n'est pas précédé de .php
. Comme les éléments suivants:correspondance regex basée sur la valeur précédente
/(?!\.php)\?/.test('mypage.php?call=here') == false;
/(?!\.php)\?/.test('otherpage.asp?call=here') == true;
J'ai essayé d'utiliser les lookaheads ?!
et ?:
, mais jusqu'à présent ne l'ai pas été en mesure de trouver une combinaison qui fonctionne.
Vous n'avez pas besoin de look-ahead, mais de look-behind, ce qui n'est pas supporté par les expressions rationnelles javascript. – kirilloid
Donc, vous voulez ceci: Faites correspondre s'il n'y a pas de '?'. S'il y a un '?', Chaque '?' Ne peut pas être précédé par '.php'? –
@WordsLikeJared Ouais, à peu près. –