Foros del Web » Programación para mayores de 30 ;) » Programación General »

Expresion regular

Estas en el tema de Expresion regular en el foro de Programación General en Foros del Web. Hola, Estoy intentando sacar la expresion regular para indentificar en una cadena la subcadena que empieza por '\' formada por números y letras cuya cantidad ...
  #1 (permalink)  
Antiguo 29/09/2008, 04:54
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Expresion regular

Hola,

Estoy intentando sacar la expresion regular para indentificar en una cadena la subcadena que empieza por '\' formada por números y letras cuya cantidad total no debe exceder de 6.

Un ejemplo donde debería encontrar algo es: loquesea\48as89

Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #2 (permalink)  
Antiguo 29/09/2008, 09:43
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Expresion regular

en que lenguaje?
  #3 (permalink)  
Antiguo 29/09/2008, 12:53
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Expresion regular

?¿?¿?... es para C#
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #4 (permalink)  
Antiguo 29/09/2008, 14:44
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Expresion regular

existe un subforo de c#.

Pero para resolver tu problema, lo primero que tienes que hacer, es dividir tu string con el delimitador propuesto "\"
una vez eso, verifica que el string formado a partir de ese delimitador, no mida mas de 6.

un ejemplo:
Código:
String expresion= "loquesea\48as89";
String [] divisor = expresion.Split('\');
y asi ya tienes 2 strings
Código:
expresion[0] = "loquesea"
expresion[1] = "48as89"
de ahi, ya solo tienes que verificar que el nuevo string no mida mas de lo deseado, que lo puedes hacer con la funcion length()

para mas info sobre strings en c#, checate esto:
strings en c#


saludos,
  #5 (permalink)  
Antiguo 29/09/2008, 14:56
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Expresion regular

Ya, pero la idea es utilizar una expresión regular. Date cuenta que la cadena a comprobar podría ser algo así:

http://miservidor.com/mi_9carpeta/a48z59

Yo lo que necesito es una expresión regular, sin importar el lenguaje sobre el que se aplicará.

Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #6 (permalink)  
Antiguo 29/09/2008, 16:19
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: Expresion regular

No se ve el link, pero pense que querias solucionar un problema especifico, y no uno mas general.

C# (y java) ya tienen su propio metodo para resolver expresiones regulares: Regex.
Aqui una buena explicacion. Esta otra tambien esta buena y es un poco mas general.

Ahora, que si quieres realizar tu propio algoritmo, empieza a buscar en google porque eso ya es bastante mas elaborado dependiendo el alcance de tu proyecto. Si ya leiste el articulo de wikipedia y quieres mas , este articulo es un buen punto a seguir.


saludos,

Última edición por blackwind; 29/09/2008 a las 16:27
  #7 (permalink)  
Antiguo 30/09/2008, 00:14
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Expresion regular

Gracias por los apuntes, nunca viene mal repasar la teoría

Creo que no me expliqué bien. Yo tengo la siguiente expresion regular:

\\[0-9]{6}(\\|$)

Esta expresión me sacaría la secuencia de 6 números entre barras '\' o que empiecen con '\' y termine la cadena. Tendría resultado exitoso sobre una cadena tal que:

\miservidor\894561

Y sacaría '\894561'

Lo que busco es una expresión similar a la \\[0-9]{6}(\\|$) pero modificada para que identifique tabién letras en intercaladas entre los números.

Gracias por la ayuda.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:09.