2013-06-21 3 views
1

Disons que j'ai une liste des racines de domaine valides,Regex pour valider une URL en utilisant un caractère générique?

example.com

test.com

Et une variable

String url

Comment puis-je utiliser une expression régulière pour valider que mon URL de variable est sur la liste, y compris les sous-domaines?

Par exemple, peut-être mon URL est "subdomain.case.example.com"

C'est, dire clairement:

Comment pourrais-je utiliser un regex pour vérifier que mon URL est *.example.com OU *.test.com OU example.com OU test.com?

Répondre

2

Quelque chose comme ça?

^((\*|[\w\d]+(-[\w\d]+)*)\.)*(example|test)(\.com)$ 

Regular expression image

Edit live on Debuggex

Pour permettre de telles choses ... sous-domaine. *. Example.com, subdomain.example.com, example.com, * .example.com, etc

+0

Je pense que oui, je vous ferai savoir si cela fait ce que je veux! Je voudrais juste dire que cet outil debuggex est flippant et que je ne l'ai jamais vu auparavant. – VicVu

+1

J'ai manqué un '+' après le '[\ w \ d-]' ... mis à jour post ... également fait en sorte que les parties ne peuvent pas commencer ou se terminer par un tiret – smerny

+0

Si vous avez une seconde pour une question rapide, si je fais ça en Java, est-ce que je dois m'échapper tous les jours? – VicVu

0

Utilisez $ pour marquer la fin de la chaîne.

Votre regex serait

.*(example|test)[.]com$ 
Questions connexes