2010-10-20 5 views
0

J'ai une chaîne contenant environ 2 000 URL et j'ai besoin d'aide avec un modèle d'expression régulière pour extraire les URL.Expressions régulières - extraire l'URL dans la chaîne

Exemple de chaîne avec des URL intégrées

"blahblahblah; http: //subdomain.server.com/index.asp id = 1000; blahblahblah;"

L'URL commencera toujours par "http://subdomain.server.com/" et se terminera par le premier ";". La seule chose qui change est les sous-répertoires et les pages.

Dans l'exemple ci-dessus, je dois saisir "http://subdomain.server.com/index.asp?id=1000"

J'ai essayé (http://subdomain.server.com /). * (;) - mais il ne s'arrête pas au premier ";". Il va effectivement saisir "http://subdomain.server.com/index.asp?id=1000;blahblahblah;"

Toute aide serait grandement appréciée.

Merci!

Répondre

0

Nevermind - Je l'ai eu.

+1

correctif pour les groupes de capture: '(http://subdomain.server.com/.*?) (?:;)' – drudge

0

Une raison pour laquelle vous ne pouvez pas simplement utiliser ce que votre langue est string.split (';') équivalent?

1

Une expression régulière plus précise serait (http://subdomain.server.com/[ ^;]*);

Il correspond au domaine, puis correspond à tous les caractères sauf le point-virgule, puis correspond au point-virgule à la fin. Les antislashs sur les périodes sont nécessaires pour leur échapper, car la période est un caractère spécial dans regex.

Questions connexes