Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - raul338

#2401
No creo que el problema sea de codigo, sino que en los mismos sockets estas usando el mismo puerto  :o y eso no se hace jeje, el socket servidor debe tener un puerto y el cliente otro, fuera de eso, creo que deberia funcionar xD

#2402
PHP / Re: Expresión regular
25 Enero 2010, 21:40 PM
jeje...son fascinante las expresiones regulares, y cada dia aprendo mas de ellas :xD

En este tema aprendi que existia el (?!...), que sirve que cancele el analisis si se cumple la condicion que esta dentro (en lugar de seguir avanzando como lo hacen otros :P)
#2403
PHP / Re: Expresión regular
25 Enero 2010, 19:27 PM
Este es el codigo generado por el ReggexBuddy con el que edito mis expresiones regulares

Código (PHP) [Seleccionar]

if (preg_match('/^(?![.,])(?:[\w!#$%&\'*+\/=?^_`{|}~\-]+(?:[.,][\w!#$%&\'*+\/=?^_`{|}~\-]+)*|(?>\".+\"))+(?![.,])@(?>\[(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))\]|(?![.,])[\w!#$%&\'*+\/=?^_`{|}~\-]+(?:[.,][\w!#$%&\'*+\/=?^_`{|}~\-]+)*(?:\.[a-zA-Z]+))$/', $value)) {
# Successful match
} else {
# Match attempt failed
}


Referencia de porque lo hize asi
explicacion detallada de la expresion


Fijate si te funciona, yo ahora no puedo probar :P
#2404
Cita de: seba123neo en 24 Enero 2010, 21:03 PM
puede ser que la iso este perfecta, pero te falten requerimintos o haya conflicto con algo que ya tengas instalado , como pasa siemrpe con estas cosas,por ejemplo tenes algun framework instalado ya ahi en esa laptop o ya tenes algun visual studio instalado.

saludos.

No tendria que haber problemas con eso, yo tengo visual 2010 y 2008 instalados en el mismo windows y encima, lo instale al revez (primero 2010 y despues 2008 lol)

Intenta como dijeron mas arriba, con algun gestor pero limitando la velocidad, y sino de ultima....busca alguna version en torrent o similar :P
#2405
PHP / Re: Expresión regular
24 Enero 2010, 20:54 PM
Citar
(?![.,])  -> no debe empezar con . o ,
(?:     -> Grupo: texto entre comillas o texto simple con simbolos
  [\w!#$%&'*+/=?^_`{|}~\-]+                 -> Letras o simbolos
  (?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*     -> ., no pueden estar consecutivos
|
  (?>\".+\")                           -> Texto entre comillas
)+           -> Se pueden repetir varias veces
(?![.,])     -> no puede terminar con . o ,
@          -> simbolo arroba
(?>       -> Grupo: puede ser una IP o texto con simbolos
  \[(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))\]
|           ->Texto con simbolos...
  (?![.,])    -> No puede empezar con . o ,
  [\w!#$%&'*+/=?^_`{|}~\-]+      -> letras y simbolos
  (?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*   -> ., no consecutivos
  (?:\.[a-zA-Z]+)  -> Tiene que terminar como dominio (aca es generico, acepta cualquier cosa...)
  (?![.,])   -> Tampoco puede terminar con . o ,
)

Y la explicacion de la expresion regular de IP:


(?: -> Grupo 1:
  (?> -> Aca separamos, el maximo de cada grupo de una IP es 255
    2 -> Si empieza con 2...
    (?>
      5[0-5]  -> y sigue con 5, que pueda hasta 55
    |
      [0-4]?\d)  -> caso contrario, que sea de 0 a 49
  |
    1?  -> o puede ser que sea 100 o menor
    \d{1,2} -> numero...de no mas de 2 cifras
  )
  \.  -> un punto
){3}  -> se debe repetir 3 veces la captura del grupo
(?:  -> Aca se repite exactamente el mismo grupo, pero sin el punto final
  (?> -> Aca separamos, el maximo de cada grupo de una IP es 255
    2 -> Si empieza con 2...
    (?>
      5[0-5]  -> y sigue con 5, que pueda hasta 55
    |
      [0-4]?\d)  -> caso contrario, que sea de 0 a 49
  |
    1?  -> o puede ser que sea 100 o menor
    \d{1,2} -> numero...de no mas de 2 cifras
  )
)


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
Cita de: IWKY en 24 Enero 2010, 20:43 PM
Bueno...... ahora si te digo que no me valida los correos, que me dices?? jejej
Código (php) [Seleccionar]

$exp = "/^(?![.,])(?:[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*|(?>\".+\"))+(?![.,])@(?>\[(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))\]|(?![.,])[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*(?:\.[a-zA-Z]+)(?![.,]))$/";
if(!preg_match($exp, $value)){
       $array_err[2] = $key;
}


Si el correo es correcto, $array_err[2] no debería de contener el valor $key y en cambio si lo contiene, ¿Hay algo mal?

Es porque estas poniendo mal la expresion, si la pones entre comillas no debes poner los "/" de inicio y cierre :P

o pones
Código (PHP) [Seleccionar]

$exp = "^(?![.,])(?:[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*|(?>\".+\"))+(?![.,])@(?>\[(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))\]|(?![.,])[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*(?:\.[a-zA-Z]+)(?![.,]))$";

o sino
Código (PHP) [Seleccionar]

$exp = /^(?![.,])(?:[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*|(?>\".+\"))+(?![.,])@(?>\[(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))\]|(?![.,])[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*(?:\.[a-zA-Z]+)(?![.,]))$/;


:P
#2406
PHP / Re: Expresión regular
24 Enero 2010, 20:34 PM
emm....esta modificado en el mensaje anterior :P

^(?![.,])(?:[\w!#$%&\'*+\/=?^_`{|}~\-]+(?:[.,][\w!#$%&\'*+\/=?^_`{|}~\-]+)*|(?>\".+\"))+(?![.,])@(?>\[(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))\]|(?![.,])[\w!#$%&\'*+\/=?^_`{|}~\-]+(?:[.,][\w!#$%&\'*+\/=?^_`{|}~\-]+)*(?:\.[a-zA-Z]+))$
#2407
PHP / Re: Expresión regular
24 Enero 2010, 19:42 PM
Ups, perdon, error de copiar y pegar del editor :P

Ahi esta corregida, ahora la explico (y creo que hare un cambio mas :P)
#2408
PHP / Re: Expresión regular
24 Enero 2010, 18:42 PM
es muy largo eso, jeje.... para validar una IP en la manera simple es asi:
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

Un poco mas "exacta" seria asi:
(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))

entonces esta ultima agregada a mi expresion regular seria mas o menos asi:

^(?![.,])(?:[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*|(?>\".+\"))+(?![.,])@(?>\[(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2})\.){3}(?:(?>2(?>5[0-5]|[0-4]?\d)|1?\d{1,2}))\]|(?![.,])[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*(?:\.[a-zA-Z]+)(?![.,]))$

Corregido!
#2409
PHP / Re: Expresión regular
24 Enero 2010, 11:02 AM
\w = [a-zA-Z0-9] (caracteres alfanumericos) :P
\W = [^a-zA-Z0-9] (caracteres no alfanumericos, o sea, simbolos)

^(?!\.)("([^"\r\\]|\\["\r\\])*"|([-a-z0-9!#$%&'*+/=?^_`{|}~] |(?@[a-z0-9][\w\.-]*[a-z0-9]\.[a-z][a-z\.]*[a-z]@[\w]+([\.\-\_][\w]+)*\.[\w]{2,4}$
Esa expresion esta mal formada, o al menos el RegexBuddy me la toma como erronea (faltan cierres de parentesis :()

Estoy trabajando en una alta expresion regular que se adapte a esa forma ;)

EDIT:
^(?![.,])(?:[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*|(?>\".+\"))+(?![.,])@(?![.,])[\w!#$%&'*+/=?^_`{|}~\-]+(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)*(?:\.[a-zA-Z]+)?(?![.,])$

Ahi esta la expresion regular "master of the sopa" :laugh:

Explicacion...
Citar
(?![.,]) -> No puede empezar con . o ,
(?: -> Aca separamos, puede haber texto o texto entre comillas
 [\w!#$%&'*+/=?^_`{|}~\-]+    -> debe empezar con una o mas letras o simbolos
 (?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)* -> los . y , no pueden ser consecutivos, por lo tanto lo que sea que les siga debe ser los otros caracteres admitidos
|
 (?>\".+\")  -> Puede haber cualquier cosa entre las comillas, pero si o si deben haber 2
)+ -> Pueden haber texto y texto entre comillas mezclado
(?![.,]) -> la parte local no debe terminar con . o ,
@ -> Simbolo arroba
-- Aca puse el mismo criterio que la parte local, solo que no se puede escribir texto entre comillas
(?![.,]) -> No puede empezar con . o ,
[\w!#$%&'*+/=?^_`{|}~\-]+ -> deben haber una o mas letras o simbolos
(?:[.,][\w!#$%&'*+/=?^_`{|}~\-]+)* -> Idem arriba sobre los .y , consecutivos
(?:\.[a-zA-Z]+)? -> puede como no tener una parte de dominio (ej: .com, .net, etc; esto lo idee en base a la expresion regular mas arriba, que lo ponia como condicional)
(?![.,]) -> no puede terminar con . o con ,


Funciona con todos los mails de ejemplo que pusiste, estoy activo :P
Me dices si te sirve o no  :P
#2410
PHP / Re: Expresión regular
24 Enero 2010, 01:35 AM
nop, el $ significa fin de linea, si hay algo mas de lo ultimo que se especifico, la expresion regular es invalida, el ^$ es usado para comprobar textos con expresiones regulares /(normalmente), en cambio cuando se requieren "obtener" parte del texto analizado, es conveniente no usarlos ;)