2011-12-16 4 views
1

Je ne peux tout simplement pas comprendre cela et j'ai essayé pendant un certain temps. J'ai besoin d'une expression rationnelle qui analysera les données de la manière suivante:Parse ceci ou cela en utilisant Regex

Disons que j'ai une entrée dans le format suivant:

www.google.com 
www.google.com/ 
www.google.com/something 

je besoin d'un regex qui analysera les trois URL ci-dessus (individuellement) pour résultat final de:

www.google.com 
www.google.com 
www.google.com 

Cependant, la façon dont il doit faire correspondre, est basé sur les points suivants:

Parse and return everything to the left of a "/" if one exists in the line 
Parse and return the entire line if no "/" exists in the line 

Je suis nouveau à regex, alors même si cela peut être simple, je ne peux pas le comprendre.

+0

Lorsque vous dites "left of a /", voulez-vous dire le premier ou le dernier "/"? – fge

+0

Quel moteur/langue d'expression rationnelle utilisez-vous? – graphicdivine

+0

fge - Il n'y aura plus qu'un "/" dans chaque ligne (s'il y en a un). – Learning

Répondre

3

Essayez la regex suivante:

[^/]* 
1

Substiture /.* rien. Cela n'a pas d'importance s'il n'y a pas de/car le regex ne correspondra pas dans ce cas.