Article View: chile.comp.programacion
Article #1740Re: consulta php preg_match y tipos de variables
From: Rickoj
Date: Tue, 06 Jun 2006 23:47
Date: Tue, 06 Jun 2006 23:47
91 lines
3908 bytes
3908 bytes
"Jos� Miguel Santib��ez" <jms.nospam@nivel5.cl> escribi� en el mensaje
news:Xns97DAB7483CA9Fjmsnews@200.27.221.71...
> En el cap�tulo anterior (news:e64rlm$9kc$1@news.nivel5.cl), "Rick_oj"
> <rick_oj@[sin-esto]tutopia.com> dijo:
>
>> bueno necesito obtener unos datos de un log, buscando en
>> phpclasses.org encontre "Apace log parser", mire el archivo con el fin
>> de saar una idea y encontre que utiliza la funcion preg_match verifica
>> un patron y si corresponde lo almacena en un arreglo, la funcion
>> recibe estos parametros
>>
>> preg_match("/^(\S+) (\S+) (\S+) \[([^:]+):(\d+:\d+:\d+) ([^\]]+)\]
>> \"(\S+) (.*?) (\S+)\" (\S+) (\S+) (\".*?\") (\".*?\")$/", $matches);
>>
>> mi duda es que no entiendo que es \S+ (asumo string) \d+
>
> \S es cualquier caracter que no sea un espacio en blanco (espacio, tab)
>
> as� el patr�n se lee m�s o menos as�:
> ^: inicio de la l�nea:
> (\S+) uno o m�s caracteres que no sean espacio. (y se guardan)
> un espacio
> (\S+) uno o m�s caracteres que no sean espacio. (y se guardan)
> un espacio
> (\S+) uno o m�s caracteres que no sean espacio. (y se guardan)
> un espacio
> \[ un [
> ([^:]+) uno o m�s caracteres cualquiera que no sean dos puntos.
> (y se guardan)
> : un :
> (\d+:\d+:\d+) tres n�meros separados por dos puntos y se guardan
> un espacio
> ([^\]]+) uno o m�s caracteres diferentes de ] (y se guardan)
> \] un ]
> un espacio
> \" un "
> (\S+) idem antes.
> un espacio
> (.*?) Aqu� me maree con el "?", antes que eso es cualquier caracter, 0 o
> m�s veces
> un espacio
> (\S+) idem antes
> \" un "
> un espacio
> (\S+) idem
> un espacio
> (\S+) idem
> un espacio
> (\".*?\") cualquier cosa entre "
> un espacio
> (\".*?\") idem
> $ fin de l�nea
>
> (nota: me salt� los espacios)
>
> Entonces:
>
> 172.0.0.1 primer match (\S+)
> - segundo (\S+)
> - tercero (\S+)
> [
> 21/Sep/2005 cuarto ([^:]+)
> 23:06:41 quinto (\d+:\d+:\d+)
> +0100 sexto ([^\]]+)
> ]
> "
> GET septimo (\S+)
> / octavo (.*?)
> HTTP/1.1 noveno (\S+)
> "
> 404 decimo (\S+)
> - undecimo (\S+)
> "-" duod�cimo (\".*?\")
> "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b3) Gecko/20050712
> Firefox/1.0+" decimotercer (\".*?\")
>
> y fin de l�nea... Aunque me salt� los espacios
>
>
> Alguien podr�a aclarar mejor el (.*?) no recuerdo la diferencia que
> produce
> el "?"
>
> eso...
grande te pasaste
> Jose M. Santiba�ez A.
> <jms@nivel5.cl>
> <http://caos.cl/jms>
Technical Details
Message-ID:
<e6548h$bi1$1@news.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!not-for-mailReferences:
<e64rlm$9kc$1@news.nivel5.cl> <Xns97DAB7483CA9Fjmsnews@200.27.221.71>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,5ee13cd680b85cc4 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news.nivel5.cl!not-for-mail From: "Rick_oj" <rick_oj@[sin-esto]tutopia.com> Newsgroups: chile.comp.programacion Subject: Re: consulta php preg_match y tipos de variables Date: Tue, 6 Jun 2006 19:47:58 -0400 Organization: Varios Lines: 93 Message-ID: <e6548h$bi1$1@news.nivel5.cl> References: <e64rlm$9kc$1@news.nivel5.cl> <Xns97DAB7483CA9Fjmsnews@200.27.221.71> NNTP-Posting-Host: pc-131-200-120-200.cm.vtr.net X-Trace: news.nivel5.cl 1149637713 11841 200.120.200.131 (6 Jun 2006 23:48:33 GMT) X-Complaints-To: news@news.nivel5.cl NNTP-Posting-Date: Tue, 6 Jun 2006 23:48:33 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2869 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 X-RFC2646: Format=Flowed; Original