Problema Con RegExp


Objetivo: 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

Perfil MP  
Objetivo: 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

Objetivo: 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...

Perfil MP  
Objetivo: 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

Objetivo: 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.

Perfil MP  
Objetivo: Re: Problema Con RegExp
tincho +1

Buen trabajo!

Perfil MP  
Objetivo: 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.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1126s (PHP: -29% SQL: 129%)
Consultas SQL: 25 - Debug off - GZIP Activado