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

Problema con Regular Expression

Estas en el tema de Problema con Regular Expression en el foro de .NET en Foros del Web. Estoy desarrollando un programa en .net. Para llevarlo a cabo utilizo regular expression, pero una me da problemas, a ver si podeis echarme una mano. ...
  #1 (permalink)  
Antiguo 17/04/2008, 06:48
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Problema con Regular Expression

Estoy desarrollando un programa en .net. Para llevarlo a cabo utilizo regular expression, pero una me da problemas, a ver si podeis echarme una mano.

necesito k me selecciones todo los textos que empiecen por : <%-- y acaben por --%> os pongo el ejemplo que me da problemas:


<%--
<a id="lnkVisitanteCompleto">Completo</a>
<a id="lnkVisitanteOtrosDatos">Más del vis1itante</a>
<span class="pesSeparador">|</span>
<a id="lnkVisitanteNuevo">Nuevo</a>
<a id="lnkVisitanteBuscar">Buscar</a>
<span class="pesSeparador">|</span>
<a id="lnkVisitanteGuardar">Guardar</a>
<a id="lnkVisitanteEliminar">Eliminar</a>
<span class="pesSeparador">|</span>
<a id="lnkVisitanteFoto">Foto</a>
<a id="lnkVisitanteOCR">OCR</a>
--%>

y esta el la regular expression con la que mas e conseguido hacer, pero aun asi, no selecciona todos:

\<%([\r\n\t]|[^\%>])*%\>

Gracias por adelantado y espero vuestras ideas.Un saludo
  #2 (permalink)  
Antiguo 17/04/2008, 06:50
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Problema con Regular Expression

y en tus RegexOptions tienes MultiLine????
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 17/04/2008, 06:55
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: Problema con Regular Expression

yo utilizo la regular expression de esta forma:

resultado = System.Text.RegularExpressions.Regex.Replace(resul tado, "\<%([\r\n\t]|[^\%>])*%\>", String.Empty)

no importo ninguna clase.
  #4 (permalink)  
Antiguo 17/04/2008, 07:42
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Problema con Regular Expression

System.Text.RegularExpressions.Regex.Replace(input , pattern, emptystring, System.Text.RegularExpressions.RegexOptions.Multil ine);

todos los metodos de Regex tienen un parametro de opciones.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 17/04/2008, 08:08
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: Problema con Regular Expression

pues e puesto el multiline y tp, no me funciona. Creo que error esta en la regular expression que no hace lo que tiene que hacer, pero no se exactamente que debo poner o quitar.

\<%([\r\n\t]|[^\%>])*%\>

en la parte de...^\%> me los coge por separado y lo que tiene que hacer es ponermelos juntos, todo como un caracter '%>' asi cuando encuentra ese "caracter" para de seleccionar, asi todo lo que empiece por <% y acabe por %> me lo seleccionara. ¿Que me decis?
  #6 (permalink)  
Antiguo 17/04/2008, 08:28
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Problema con Regular Expression

agrupalos

(\%>)
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 17/04/2008, 08:40
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: Problema con Regular Expression

Tp me los coge, siento volverte tan loco, yo ya no se que hacer.
Ahora tengo la regular expression asi:

\<%([\r\n\t]|[^(\%\>)])*%\>
  #8 (permalink)  
Antiguo 18/04/2008, 01:05
 
Fecha de Ingreso: abril-2008
Mensajes: 11
Antigüedad: 16 años
Puntos: 0
Re: Problema con Regular Expression

Problema solucionado, he optado por cambiar el caracter que me daba problemas por otro caracter en codigo ascii. Luego en la regular e buscado ese caracter ascii y sin problemas.
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 04:39.