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


 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  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 1,312 veces)
Miseryk

Desconectado Desconectado

Mensajes: 217


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


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

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


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


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

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.709



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

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 por Eleкtro » En línea


Miseryk

Desconectado Desconectado

Mensajes: 217


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


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

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.709



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

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 por Eleкtro » En línea


Miseryk

Desconectado Desconectado

Mensajes: 217


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


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

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
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.323


The Hacktivism is not a crime


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

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 por WHK » En línea

Telegram: @WHK102 - Semáforo Epidemiologico Chile
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 3,668 Último mensaje 16 Septiembre 2011, 00:21
por CH4ØZ
[SOURCE] RegEx .NET
.NET (C#, VB.NET, ASP)
Eleкtro 3 1,756 Último mensaje 11 Septiembre 2013, 16:53
por Eleкtro
Ayuda con Regex
Programación General
BlackM4ster 0 685 Último mensaje 19 Abril 2014, 14:17
por BlackM4ster
Ayuda con RegEx
Programación General
ingdanielsantos 4 806 Último mensaje 19 Septiembre 2014, 03:32
por engel lex
Regex en una dll
Programación C/C++
patilanz 1 607 Último mensaje 25 Febrero 2015, 01:51
por patilanz
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines