2009-07-02 4 views
1

ont besoin d'aide pour créer une expression régulière de chaîne correspondant àExpression régulière pour correspondre chemin url exacte sur des hôtes différents

www.*.abc.*/somestring 

Ici * est wild card, il peut être anyhing comme nous, uk

ou com, edu

comme

www.us.abc.com/somestring 
www.uk.abc.edu/somestring 
+0

Peut-être votre TLD .co. uk ou .com.au, cela ferait une différence pour votre solution –

+0

Qu'est-ce que TLD? En fait URL peut contenir co.uk donc j'essaye avec www \. [^.] + \. Abc \. [^.] + \. [^.] + – anand

+0

Si je veux faire une correspondance de n'importe quel caractère comment puis-je faire cela. Supposons que j'ai url www.abc.co.uk/12=1231&wwd=13&eef=1231231 Comment faire correspondre la chaîne "12 = 1231 & wwd = 13 & eef = 1231231" il n'y a pas de contrainte sur ce point, il peut contenir n'importe quel nombre/type de caractères. – anand

Répondre

7

Mettez [^.]+ au lieu des astérisques et \. au lieu de points, et vous aurez terminé.

www\.[^.]+\.abc\.[^.]+/somestring 

[^.] correspond à une non-dot, [^.]+ correspond à une chaîne de nondots avec au moins un caractère. \. correspond à un point, car . correspond à n'importe quel caractère.

0

S'il s'agit d'une URL, il peut correspondre à n'importe quel caractère a-z, ou 0-9, ou à un tiret (-). Chaque composant a au moins un caractère, utilisez donc + comme multiplicateur. À l'heure actuelle, les TLDs sont seulement a-z, mais ce regex est un peu plus robuste (on ne sait jamais!):

/www\.[-a-z0-9]+?\.abc\.[-a-z0-9]+?\/somestring/ 

Il prend rien sur la longueur de chaque composant, et qu'il est tout en minuscules.

+0

Vous avez raison, mais que se passe-t-il si vous voulez vous limiter aux codes de pays ou aux noms de domaine de premier niveau (et seulement ceux-là)? [az] suffirait. – VonC

+0

[a-z], mais sinon vous avez raison. Je mentionne cela dans ma réponse de toute façon :) –

1

Essayez l'expression régulière suivante:

^www\.\w+\.abc\.\w+\/\w+$ 
0

Quelque chose comme ça:

www\.\w+\.abc\.\w+\/somestring 

Je ne recommande d'utiliser ce Online RegEx builder pour savoir comment cela fonctionne

Questions connexes