2017-10-14 6 views
0

Le but de cette question est de comprendre comment exclure uniquement le code de langue spécifique de l'URL. Disons que nous avons example.com/en/test - cela devrait être une correspondance valide. Les autres URL valides sont example.com/ene/test, example.com/been/test et etc. Le seul URL qui sera exclu de l'expression regex est example.com/en. Je ne suis définitivement pas un maître de regex donc tous les conseils seront les bienvenus. Je veux modifier l'expression suivante pour exclure uniquement l'URL mentionnée ci-dessus.Regex pour exclure le suffixe de langue spécifique de l'URL

^(([^/]+/)*[^./]+)$ 
+0

Pour être clair, il n'y a pas de véritable solution à ce problème depuis une url peut avoir de nombreux aspects et peut être inséré dans un texte de plusieurs façons. Tout ce que vous pouvez faire est un compromis. Par exemple, le mot 'localhost' est lui-même une URL (comment détecter cela?) –

Répondre

0

Si tout ce que vous voulez est d'enlever la 2e et 3e url de ces derniers et obtenir le 1er & 2ème:

example.com/been/sadvjs 
example.com/been/ 
example.com/been 
example.com/en/sghvhj 

Vous pouvez essayer cette regex:

/([a-zA-z0-9\-]*\/[a-zA-Z]*\/[a-zA-Z0-9\-_]+)/g 

et vous pouvez utilisez toujours () pour capturer.

Here's une démonstration en direct