duda de regex

Iniciado por spiritdead, 28 Diciembre 2012, 16:38 PM

0 Miembros y 1 Visitante están viendo este tema.

spiritdead

buenas buenas

alguno q pueda aclararme y echarme 1 mano

necesito 1 regex que detecte este patron

@nick <--- tipo twitter

ejemplos de como debe cumplirse

@nick <- bien
qweqwe @nick qeqweqwe <- bien
qweqwe @nick <- bien
asd@nick.com <-- mal
@nick.com <-- mal
@nick'qweqwe <- mal

alguna idea ? tengo este pero no me convence  "(?<!\w)(@(\w+))" <-- bug con el patron  @nick.com
Facilitador De Tareas - Task Simplifier (FDT)

Keyen Night

#1
Si con esto "qweqwe" te refieres a cualquier letra incluyendo números :xD.

Podría ser así, esta expresión encaja con los ejemplos que diste:

^(@\w+|\w+\s@\w+(\s\w+)?)$

Esta expresión no captura textos del tipo:

@nick qweqwe

Esta acepta lo anterior y la expresión no capturada:

^(@\w+(\s\w+)?|\w+\s@\w+(\s\w+)?)$

Espero te sirva ;D

Hubieses colocado todos los casos .__.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

spiritdead

Cita de: Keyen Night en 28 Diciembre 2012, 22:00 PM
Si con esto "qweqwe" te refieres a cualquier letra incluyendo números :xD.

Podría ser así, esta expresión encaja con los ejemplos que diste:

^(@\w+|\w+\s@\w+(\s\w+)?)$

Esta expresión no captura textos del tipo:

@nick qweqwe

Esta acepta lo anterior y la expresión no capturada:

^(@\w+(\s\w+)?|\w+\s@\w+(\s\w+)?)$

Espero te sirva ;D

nope no me sirve ni 1 de las 2 :P
la idea es q me tome solo los @nick pero cumpliendo los casos anteriores

-q si tiene texto antes del @ no lo tome, signos,puntos, y q se pueda poner al principio de la oracion o etc

el q puse hace todo, menos cuando le pones signos puntuacions q sigue bug
Facilitador De Tareas - Task Simplifier (FDT)

spiritdead

resuelto usando este regex "(?<!\w)(@(\w+))(\s|$)"
Facilitador De Tareas - Task Simplifier (FDT)