Merci pour le lien ! 2008/12/6 Bruno Michel <[EMAIL PROTECTED]>
> > Zak Mad a écrit : > > Bonjour, > > Je tente de trouver une regexp qui matche la string suivante : > > > > s = '[03/Nov/2008:13:21:15 +0100] 10.37.93.39 > > http://profile.ak.facebook.com/v225/1712/24/t779560544_7637.jpg > > > "3362,287562259289457,18+=-,GPRS,0,wapsfr,0,0,,300,110000100000000000000000000000000,WAP2.0,95,0, > 10.37.93.39" > > "-" TCP/200 HTTP/1.1 GET 60 0.060 - 1043 200 1802 266 200 > > "SEC-SGHE900/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1"' > > > > sachant que le séparateur de champ est le caratère vide 'espace' et > > aussi que le premier et le 3ème champ peuvent contenir des espaces (pour > > le premier c'est systématique). > > Voici les regex que j'ai : > > > > regex = > > > "^[(.*?)\]\s(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|-)\s([^\s]+)\s"([^,]+|-),[^,]*,[^,]*,([^,]+|-),[^,]*,([^,]+|-),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]+|-),([^,]+|-),([^,]+|-),([^,]+|-)"\s"([^"]+)"\s(([^\s]+)/(\d+|-))\s([^\s]+|-)\s([^\s]+|-)\s(\d+|-)\s(\d+\.\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s"(.+?)"\s*$" > > > > qu'est ce que j'ai loupé? > > Merci pour votre aide. > > Bonjour, > > alors voici quelques conseils qui devraient t'aider à t'en sortir. > > Tout d'abord, il est préférable d'écrire les regexps entre deux slashs > plutôt que des quotes (sinon, il faut doubler le nombre d'antislashs > pour protéger les caractères). > > Ensuite, il faudrait protéger le [ au début de ta regexep avec un \. > > Il faudrait également utiliser " à la place des ". > > Enfin, si cela ne fonctionne toujours pas, je te conseille de jouer avec > http://www.rubular.com/ pour tester ta regexp. > > ++ > Bruno > > PS : regex = > > /^\[(.*?)\]\s(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|-)\s([^\s]+)\s"([^,]+|-),[^,]*,[^,]*,([^,]+|-),[^,]*,([^,]+|-),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]+|-),([^,]+|-),([^,]+|-),([^,]+|-)"\s"([^"]+)"\s(([^\s]+)/(\d+|-))\s([^\s]+|-)\s([^\s]+|-)\s(\d+|-)\s(\d+\.\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s(\d+|-)\s"(.+?)"\s*$/ > devrait fonctionner. > > > > --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED] -~----------~----~----~----~------~----~------~--~---
