/ / Regex, come abbinare tutti gli URL tranne uno? - regex

Regex, come abbinare tutti gli URL tranne uno? - regex

Le mie competenze Regex come minimo, ho cercato per un po 'di tempo per farlo funzionare:

Devo abbinare tutti gli URL in un dominio, ma uno (quello di accesso).

Esempio:

Match: domain.com/ANYTHING-GOES-HERE

ma

Non corrispondente: dominio.com/login

In realtà non ho bisogno di abbinare la parte di dominio.com perché è sempre la stessa cosa viene dopo.

Ho provato:

(?!/login)/.*

/.*[^login]

Nessuno dei due sembra funzionare come desiderato.

Aggiornare:

Avrei dovuto spiegare che questo è fatto in PHP. Non ho il controllo sul codice effettivo che esegue la regex, ma ho il controllo su quante regex posso avere, quindi potrei avere una regex che corrisponda a tutto e quindi avere una regex che corrisponda o meno alle corrispondenze "/ accesso"

risposte:

1 per risposta № 1

Ci sei quasi:

// javascript
r = /domain.com/(?!login).+/
r.test("domain.com/ANYTHING-GOES-HERE") // true
r.test("domain.com/login") // false

Anche questo rifiuta "domain.com/login/foobar", se vuoi che venga accettato, modifica la regex da essere

r = /domain.com/(?!login$).+/