Si vous essayez de faire correspondre /en/
précisément, vous n'avez pas besoin d'une expression régulière du tout. Utilisez simplement l'équivalent contains
de votre langue pour tester cette sous-chaîne.
Si vous essayez de faire correspondre une partie à deux lettres de l'URL entre deux barres obliques, vous avez besoin d'une expression comme ceci:
/../
Si vous voulez capturer le code à deux lettres, placez-le périodes entre parenthèses:
/(..)/
en fonction de votre langue, vous pourriez avoir besoin pour échapper aux barres obliques:
\/..\/
\/(..)\/
Et si vous voulez vous assurer que vous correspondez des lettres au lieu de tous les caractères (y compris les numéros et symboles), vous pouvez utiliser une expression comme ceci:
/[a-z]{2}/
qui sera reconnu par la plupart des variations regex.
Encore une fois, vous pouvez échapper aux barres obliques et ajouter un groupe de capture de cette façon:
\/([a-z]{2})\/
Et si vous n'avez pas besoin de les échapper:
/([a-z]{2})/
Cette expression correspond à toute chaîne sous la forme /xy/
où x
et y
sont des lettres. Donc, il va correspondre /en/
, /fr/
, /de/
, etc
En JavaScript, vous aurez besoin de la version d'échappement: \/([a-z]{2})\/
.
Pour quel langage de programmation avez-vous besoin regex ? C# et VB.net, par exemple tous les deux comprennent '"/en/"', mais ce n'est évidemment pas ce que vous cherchez ... – Heinzi
@Heinzi - JavaScript a un raccourci pour définir une regex, par exemple. var someRegex =/\/en \ // ig qui peut aussi être écrit comme ceci var someRegex = new RegExp ("/ en /", "ig"). Généralement, la voie raccourcie est préférée. Je n'utilise que le nouveau RegExp si j'ai besoin de construire la regex en concaténant des chaînes. – nickytonline