Expresiones Regulares

12/08/2004 - 23:31 por Miguel Ortiz Falcón | Informe spam
Hola grupo, fijense que ando un poco confundido con las
expresiones regulares, principalmente con el
conjunto "^$", por ejemplo el siguiente método validaría
un codigo postal


// si el codigo postal es erroneo muestra un mensaje
if ( !Regex.Match( zipTextBox.Text, @"^\d{5}$" ).Success )
{
// zip was incorrect
MessageBox.Show( "Invalid Zip", "Message");
}

Porque "segun yo", la expresion regular daria "Success"
cuando la expresion encuentre cualquier cadena "excepto"
un numero de 5 digitos, hasta ahí está bien, puesto que
es lo que se quiere que cuando no sea un numero de 5
digitos marque el error...pero da la casualidad que tiene
que negarse después eso (!)...y es donde ahí ya no le
entiendo por qué se está negando, y o sea si esta bien
que se niege porque si no no funciona, pero no entiendo
por qué esa negacion porque segun yo la expresion "Match"
cuando la cadena es "invalida" aparentemente

A ver que onda no ?...

Saludos...
Miguel Ortiz Falcón

Preguntas similare

Leer las respuestas

#1 Jose Alfredo
13/08/2004 - 01:21 | Informe spam
Hola!


^\d{5}$ : La cadena que tu planteas SOLO coincide cuando tienes un número
de 5 dígitos

en ese caso el operador ^ no significa negación, para que el mismo
signifique negación debe estar entre corchetes

[^\d]{5} pero en este caso existe sucess solo cuando tienes una cadena de 5
símbolos no numéricos o más

si las expresiones regulares no son faciles, por eso yo me hice un evaluador
de cadenas para no volverme loco en la programación.

Saludos

Jose Alfredo
Bad Honnef
RFA


"Miguel Ortiz Falcón" schrieb im
Newsbeitrag news:554b01c480b3$bc09b2b0$
Hola grupo, fijense que ando un poco confundido con las
expresiones regulares, principalmente con el
conjunto "^$", por ejemplo el siguiente método validaría
un codigo postal


// si el codigo postal es erroneo muestra un mensaje
if ( !Regex.Match( zipTextBox.Text, @"^\d{5}$" ).Success )
{
// zip was incorrect
MessageBox.Show( "Invalid Zip", "Message");
}

Porque "segun yo", la expresion regular daria "Success"
cuando la expresion encuentre cualquier cadena "excepto"
un numero de 5 digitos, hasta ahí está bien, puesto que
es lo que se quiere que cuando no sea un numero de 5
digitos marque el error...pero da la casualidad que tiene
que negarse después eso (!)...y es donde ahí ya no le
entiendo por qué se está negando, y o sea si esta bien
que se niege porque si no no funciona, pero no entiendo
por qué esa negacion porque segun yo la expresion "Match"
cuando la cadena es "invalida" aparentemente

A ver que onda no ?...

Saludos...
Miguel Ortiz Falcón
Respuesta Responder a este mensaje
#2 Miguel Ortiz Falcón
13/08/2004 - 03:00 | Informe spam
Entonces cual es la diferencia entre: ^\d{5}$
y esto: \d{5} ?

=s

Miguel Ortiz
Saludos...

Hola!


^\d{5}$ : La cadena que tu planteas SOLO coincide


cuando tienes un número
de 5 dígitos

en ese caso el operador ^ no significa negación, para


que el mismo
signifique negación debe estar entre corchetes

[^\d]{5} pero en este caso existe sucess solo cuando


tienes una cadena de 5
símbolos no numéricos o más

si las expresiones regulares no son faciles, por eso yo


me hice un evaluador
de cadenas para no volverme loco en la programación.

Saludos

Jose Alfredo
Bad Honnef
RFA


"Miguel Ortiz Falcón"


schrieb im
Newsbeitrag news:554b01c480b3$bc09b2b0


$
Hola grupo, fijense que ando un poco confundido con las
expresiones regulares, principalmente con el
conjunto "^$", por ejemplo el siguiente método validaría
un codigo postal


// si el codigo postal es erroneo muestra un mensaje
if ( !Regex.Match( zipTextBox.Text, @"^\d{5}


$" ).Success )
{
// zip was incorrect
MessageBox.Show( "Invalid Zip", "Message");
}

Porque "segun yo", la expresion regular daria "Success"
cuando la expresion encuentre cualquier cadena "excepto"
un numero de 5 digitos, hasta ahí está bien, puesto que
es lo que se quiere que cuando no sea un numero de 5
digitos marque el error...pero da la casualidad que tiene
que negarse después eso (!)...y es donde ahí ya no le
entiendo por qué se está negando, y o sea si esta bien
que se niege porque si no no funciona, pero no entiendo
por qué esa negacion porque segun yo la expresion "Match"
cuando la cadena es "invalida" aparentemente

A ver que onda no ?...

Saludos...
Miguel Ortiz Falcón


.

Respuesta Responder a este mensaje
#3 A.Poblacion
13/08/2004 - 11:10 | Informe spam
El caracter ^ significa "Anclar al principio de la cadena", de la misma
forma que $ significa "Anclar al final".
La cadena "ABC12345EFG" no tendría un "match" con "^\d{5}$", pero sí tendría
un "match" (en la posición 3) con "\d{5}"


"Miguel Ortiz Falcón" wrote in message
news:566001c480d0$fa3c8680$
Entonces cual es la diferencia entre: ^\d{5}$
y esto: \d{5} ?

=s

Miguel Ortiz
Saludos...

Hola!


^\d{5}$ : La cadena que tu planteas SOLO coincide


cuando tienes un número
de 5 dígitos

en ese caso el operador ^ no significa negación, para


que el mismo
signifique negación debe estar entre corchetes

[^\d]{5} pero en este caso existe sucess solo cuando


tienes una cadena de 5
símbolos no numéricos o más

si las expresiones regulares no son faciles, por eso yo


me hice un evaluador
de cadenas para no volverme loco en la programación.

Saludos

Jose Alfredo
Bad Honnef
RFA


"Miguel Ortiz Falcón"


schrieb im
Newsbeitrag news:554b01c480b3$bc09b2b0


$
Hola grupo, fijense que ando un poco confundido con las
expresiones regulares, principalmente con el
conjunto "^$", por ejemplo el siguiente método validaría
un codigo postal


// si el codigo postal es erroneo muestra un mensaje
if ( !Regex.Match( zipTextBox.Text, @"^\d{5}


$" ).Success )
{
// zip was incorrect
MessageBox.Show( "Invalid Zip", "Message");
}

Porque "segun yo", la expresion regular daria "Success"
cuando la expresion encuentre cualquier cadena "excepto"
un numero de 5 digitos, hasta ahí está bien, puesto que
es lo que se quiere que cuando no sea un numero de 5
digitos marque el error...pero da la casualidad que tiene
que negarse después eso (!)...y es donde ahí ya no le
entiendo por qué se está negando, y o sea si esta bien
que se niege porque si no no funciona, pero no entiendo
por qué esa negacion porque segun yo la expresion "Match"
cuando la cadena es "invalida" aparentemente

A ver que onda no ?...

Saludos...
Miguel Ortiz Falcón


.

Respuesta Responder a este mensaje
#4 Jose Alfredo
13/08/2004 - 11:35 | Informe spam
Hola!

Exactamente como muy bien a explicado A.Poblacion

Saludos

Jose Alfredo
Bad Honnef
RFA

"A.Poblacion" schrieb im
Newsbeitrag news:%23$
El caracter ^ significa "Anclar al principio de la cadena", de la misma
forma que $ significa "Anclar al final".
La cadena "ABC12345EFG" no tendría un "match" con "^\d{5}$", pero sí


tendría
un "match" (en la posición 3) con "\d{5}"


"Miguel Ortiz Falcón" wrote in message
news:566001c480d0$fa3c8680$
Entonces cual es la diferencia entre: ^\d{5}$
y esto: \d{5} ?

=s

Miguel Ortiz
Saludos...

>Hola!
>
>
> ^\d{5}$ : La cadena que tu planteas SOLO coincide
cuando tienes un número
>de 5 dígitos
>
>en ese caso el operador ^ no significa negación, para
que el mismo
>signifique negación debe estar entre corchetes
>
>[^\d]{5} pero en este caso existe sucess solo cuando
tienes una cadena de 5
>símbolos no numéricos o más
>
>si las expresiones regulares no son faciles, por eso yo
me hice un evaluador
>de cadenas para no volverme loco en la programación.
>
>Saludos
>
>Jose Alfredo
>Bad Honnef
>RFA
>
>
>"Miguel Ortiz Falcón"
schrieb im
>Newsbeitrag news:554b01c480b3$bc09b2b0
$
>Hola grupo, fijense que ando un poco confundido con las
>expresiones regulares, principalmente con el
>conjunto "^$", por ejemplo el siguiente método validaría
>un codigo postal
>
>
>// si el codigo postal es erroneo muestra un mensaje
>if ( !Regex.Match( zipTextBox.Text, @"^\d{5}
$" ).Success )
>{
> // zip was incorrect
> MessageBox.Show( "Invalid Zip", "Message");
>}
>
>Porque "segun yo", la expresion regular daria "Success"
>cuando la expresion encuentre cualquier cadena "excepto"
>un numero de 5 digitos, hasta ahí está bien, puesto que
>es lo que se quiere que cuando no sea un numero de 5
>digitos marque el error...pero da la casualidad que tiene
>que negarse después eso (!)...y es donde ahí ya no le
>entiendo por qué se está negando, y o sea si esta bien
>que se niege porque si no no funciona, pero no entiendo
>por qué esa negacion porque segun yo la expresion "Match"
>cuando la cadena es "invalida" aparentemente
>
>A ver que onda no ?...
>
>Saludos...
>Miguel Ortiz Falcón
>
>
>.
>


Respuesta Responder a este mensaje
#5 Miguel Ortiz Falcón
13/08/2004 - 17:51 | Informe spam
Muy buena explicación, gracias ;) ...

Entonces una expresion SIN ^? como quien dice, busca el
match en toda la cadena o también en una subcadena, asi
sean las veces que sean. Y Con ^? solo tendrá el match a
TODA la cadena y no tomando en cuenta subcadenas =)

Gracias por la info

Saludos.
Miguel Ortiz Falcón


El caracter ^ significa "Anclar al principio de la


cadena", de la misma
forma que $ significa "Anclar al final".
La cadena "ABC12345EFG" no tendría un "match" con "^\d{5}


$", pero sí tendría
un "match" (en la posición 3) con "\d{5}"


"Miguel Ortiz Falcón" wrote in


message
news:566001c480d0$fa3c8680$
Entonces cual es la diferencia entre: ^\d{5}$
y esto: \d{5} ?

=s

Miguel Ortiz
Saludos...

Hola!


^\d{5}$ : La cadena que tu planteas SOLO coincide


cuando tienes un número
de 5 dígitos

en ese caso el operador ^ no significa negación, para


que el mismo
signifique negación debe estar entre corchetes

[^\d]{5} pero en este caso existe sucess solo cuando


tienes una cadena de 5
símbolos no numéricos o más

si las expresiones regulares no son faciles, por eso yo


me hice un evaluador
de cadenas para no volverme loco en la programación.

Saludos

Jose Alfredo
Bad Honnef
RFA


"Miguel Ortiz Falcón"


schrieb im
Newsbeitrag news:554b01c480b3$bc09b2b0


$
Hola grupo, fijense que ando un poco confundido con las
expresiones regulares, principalmente con el
conjunto "^$", por ejemplo el siguiente método




validaría
un codigo postal


// si el codigo postal es erroneo muestra un mensaje
if ( !Regex.Match( zipTextBox.Text, @"^\d{5}


$" ).Success )
{
// zip was incorrect
MessageBox.Show( "Invalid Zip", "Message");
}

Porque "segun yo", la expresion regular daria "Success"
cuando la expresion encuentre cualquier cadena "excepto"
un numero de 5 digitos, hasta ahí está bien, puesto que
es lo que se quiere que cuando no sea un numero de 5
digitos marque el error...pero da la casualidad que




tiene
que negarse después eso (!)...y es donde ahí ya no le
entiendo por qué se está negando, y o sea si esta bien
que se niege porque si no no funciona, pero no entiendo
por qué esa negacion porque segun yo la




expresion "Match"
cuando la cadena es "invalida" aparentemente

A ver que onda no ?...

Saludos...
Miguel Ortiz Falcón


.





.

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida