Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Problema Con RegExp

Problema Con RegExp
Artículo
Responder citando    Descargar mensaje  
Mensaje Problema Con RegExp 
 
No soy ningún especialista con las expresiones regulares, pero me pasan un problema.
éste código
  
str = "A\n\n\n\n\n"

str = RegExp.Replace(str, "([^.])( *\n\n*)", "FirstPart:#&1#Second Part:#&2#")
Print str
 


a priori debería devolver:
FirstPart: #A #Second Part: #

y sin embargo devuelve:

FirstPart: #A #Second Part: #
#FirstPart: #
#Second Part: #
#FirstPart: #
#Second Part: #
#

No entiendo de dónde viene la repetición. Si en la cadena no hay ningún espacio... ¿Alguien puede ayudar al colega?
Adjunto un proyectito que contiene el problema

Gracias.

regexproblem-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: regexproblem-0.0.1.tar.gz
Tamaño: 11.33 KB
Descargado: 43 veces
regexproblem-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: regexproblem-0.0.1.tar.gz
Tamaño: 11.33 KB
Descargado: 43 veces
regexproblem-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: regexproblem-0.0.1.tar.gz
Tamaño: 11.33 KB
Descargado: 43 veces




 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Jueves, 27 Abril 2017, 20:23 ]
 


Problema Con RegExp
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con RegExp 
 
Shordi:

Aunque estoy bastante desentrenado.

¿ Cómo es que usaste el carácter de escape de nueva línea ?.
Sabes que si lo imprimes y en la cadena existe, te va a crear distintas líneas.

Podías haber probado con una cadena distinta a ver que resultado da.  

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Viernes, 28 Abril 2017, 00:51 ]
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con RegExp 
 
Shell escribió: [Ver mensaje]
Shordi:

Aunque estoy bastante desentrenado.

¿ Cómo es que usaste el carácter de escape de nueva línea ?.
Sabes que si lo imprimes y en la cadena existe, te va a crear distintas líneas.

Podías haber probado con una cadena distinta a ver que resultado da.  

Saludos

Es que regexp está para eso... no es lo mismo un replace que un regexp.replace...



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Viernes, 28 Abril 2017, 08:23 ]
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con RegExp 
 
Shordi:

¿ Qué te parece si explicas a la comunidad como interpretas la expresión regular que has usado ?.  
Y dicho sea de paso la instrucción.

Estuve intentando hacerlo en una web y con Python, pero...
"Estoy más oxidado que C3-PO en Tatooine."

Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Viernes, 28 Abril 2017, 14:06 ]
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con RegExp 
 
shordi escribió: [Ver mensaje]
...me pasan un problema. éste código...

He probado el código en gambas y pasa lo que dices, y luego probé las expresiones regulares en una pagina de pruebas de regex
https://es.infobyip.com/regularexpressioncalculator.php
Y el resultado es "A".

Como nada funcionaba y no soy experto en regex, hice lo unico que me quedaba hacer el método de prueba y error, y lo mejor es que funciono !!  

Public Sub form_open()
  Dim str As String
  str = "A\n\n\n\n\n"
  str = RegExp.Replace(str, "([^/\n])(" ")", "FirstPart:#&1#Second Part:#&2#")
  Print str
  Me.Close
End
 


Este es el resultado:
FirstPart:#A#Second Part:##

Y esta la regex modificada, hay que escapar el \n así /\n:
([^/\n])(" ")

Saludos.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Sabado, 29 Abril 2017, 14:29 ]
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con RegExp 
 
tincho +1   

Buen trabajo!



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Sabado, 29 Abril 2017, 18:12 ]
Responder citando    Descargar mensaje  
Mensaje Re: Problema Con RegExp 
 
Al final la solución no era esa. El problema venía de un atípico comportamiento de la clase Regexp... os remito a la lista internacional, que no soy capaz de explicarlo así, a bote pronto.

Saludos.



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Lunes, 01 May 2017, 10:50 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron