elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  RegEx
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: RegEx  (Leído 3,968 veces)
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
RegEx
« en: 20 Junio 2018, 20:13 pm »

Buenas, no sé si ésto vá acá, pero estaba buscando la manera de hacer en Regular Expression lo siguiente:

tengo un código fuente que tiene

Código
  1.    //cout <<
  2.    cout <<
  3.  

lo que quiero hacer es que me busque los cout que no están comentados, intenté de muchas maneras pero no puedo hacerlo funcionar :@

alguna idea? sigo probando, gracias!


En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: RegEx
« Respuesta #1 en: 20 Junio 2018, 21:19 pm »

Pude lograr algo, pero no todo:

http://www.rubular.com/

regular expression: (?<!\/\/)(cout)

texto de prueba:

Código
  1. printf ()
  2. cout <<
  3.    cout <<
  4.    //    cout <<
  5. //cout <<
  6. // cout << endl << endl;
  7. // // //cout << "PosY: " << dec << (DWORD)TestPosY << endl << endl;
  8.  



En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: RegEx
« Respuesta #2 en: 21 Junio 2018, 09:28 am »

Solo te falta excluir de la captura cualquier caracter a la derecha de los caracteres de comentario, y capturar la palabra completa "cout", es decir:

Código:
(?<!\/\/(.+)?)\bcout\b

PD: para la próxima vez: Hilo oficial: Solicitudes de Expresiones Regulares

Saludos.
« Última modificación: 21 Junio 2018, 09:37 am por Eleкtro » En línea



Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: RegEx
« Respuesta #3 en: 22 Junio 2018, 16:19 pm »

Solo te falta excluir de la captura cualquier caracter a la derecha de los caracteres de comentario, y capturar la palabra completa "cout", es decir:

Código:
(?<!\/\/(.+)?)\bcout\b

PD: para la próxima vez: Hilo oficial: Solicitudes de Expresiones Regulares

Saludos.

Ok, para la próxima posteo ahí, una cosa, el código no me está funcionando :(

Gracias por todo.
En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: RegEx
« Respuesta #4 en: 23 Junio 2018, 17:47 pm »

el código no me está funcionando :(

Bueno, es lo que pasa si no especificas a qué sintaxis de RegEx estás sujeto, ni tampoco que significa exactamente "no me está funcionando", ¿no se te compila?, ¿no se captura lo que necesitas?. Sin más información por tu parte lo único que puedo decirte es que la expresión regular que compartí funciona de forma esperada al menos en el motor RegEx de .NET Framework y realizando la captura en la muestra de código que compartiste de C/C++.

Saludos
« Última modificación: 23 Junio 2018, 17:53 pm por Eleкtro » En línea



Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: RegEx
« Respuesta #5 en: 24 Junio 2018, 06:12 am »

Bueno, es lo que pasa si no especificas a qué sintaxis de RegEx estás sujeto, ni tampoco que significa exactamente "no me está funcionando", ¿no se te compila?, ¿no se captura lo que necesitas?. Sin más información por tu parte lo único que puedo decirte es que la expresión regular que compartí funciona de forma esperada al menos en el motor RegEx de .NET Framework y realizando la captura en la muestra de código que compartiste de C/C++.

Saludos

Ah, no sabía que habían muchos RegEx o diferentes sintaxis, me refería a la página posteada, pero en la búsqueda de VS 2013 está funcionando, muchas gracias por la ayuda!

Saludos.
En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: RegEx
« Respuesta #6 en: 5 Julio 2018, 15:56 pm »

Ese tipo de condicional negada no es siempre compatible, en ves de eso te recomiendo esto:

Código:
^\s*cout\s+.*

De esta manera el cout siempre debe venir solo sin ningun caracter especial antepuesto, tomará el cout y finaliza en un espacio en blanco o más, para prevenir problemas cuando escribas por ejemplo "couting(...)".

https://regexr.com/3s12k

De todas maneras no te recomiendo hacer este tipo de búsquedas porque tendrás problemas por ejemplo cuando tu código no tenga una identación correcta, por ejemplo cuando necesites buscar esto:

Código:
if(1){ cout << abc; }

O también:

Código:
if(1){ // cout << abc; }
    demo();
}

O también:

Código:
/* //// Test */ cout << demo;

Saludos.
« Última modificación: 5 Julio 2018, 16:00 pm por WHK » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
RegEx
.NET (C#, VB.NET, ASP)
CH4ØZ 5 5,447 Último mensaje 16 Septiembre 2011, 00:21 am
por CH4ØZ
duda con regex
PHP
jhonatanAsm 8 4,329 Último mensaje 28 Abril 2012, 20:32 pm
por engel lex
duda de regex
.NET (C#, VB.NET, ASP)
spiritdead 3 2,675 Último mensaje 29 Diciembre 2012, 07:26 am
por spiritdead
[SOURCE] RegEx .NET
.NET (C#, VB.NET, ASP)
Eleкtro 3 4,140 Último mensaje 11 Septiembre 2013, 16:53 pm
por Eleкtro
Regex en una dll
Programación C/C++
patilanz 1 1,729 Último mensaje 25 Febrero 2015, 01:51 am
por patilanz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines