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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Solucionado] Expresion regular para capturar comentarios multilinea de PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Expresion regular para capturar comentarios multilinea de PHP  (Leído 13,488 veces)
yovaninu


Desconectado Desconectado

Mensajes: 349



Ver Perfil
[Solucionado] Expresion regular para capturar comentarios multilinea de PHP
« en: 8 Enero 2012, 05:55 am »

Hola que tal, estoy empezando con esto de las expresiones regulares, la siguiente me captura dentro de una cadena de texto todo lo que este dentro los simbolos de comnetarios de PHP por ejemplo:  
Código:
/* el comentario */

Esta seria su ER
Código:
ER="\/\*\s*([^\s]*)\s*\*\/"

Ahora si desearia capturar aquellos comentarios pero que estan en varias lineas, ¿Cual seria la expresion?
Es decir para comentarios tipo:
Código:
/* esto
es un
comentario */


He tratado de utilizar los modificadores de \n \r \m pero sin resultados.

Saludos




« Última modificación: 18 Enero 2012, 04:22 am por yovaninu » En línea

yovaninu


Desconectado Desconectado

Mensajes: 349



Ver Perfil
Re: [Ayuda] Expresion regular para capturar comentarios multilinea de PHP
« Respuesta #1 en: 18 Enero 2012, 04:22 am »

Bueno, se que pocos estan interesados en el tema pero pongo las soluciones para aquellos interesados y programadores PHP aunque supongo tambien sirve para todos aquellos lenguajes que utilizan esta forma de comentarios, la idea es capturarlos del archivo fuente (y quitarlos por ejemplo), comentarios de la forma

Código:
// esto es un comentario

o de la forma

Código:
/* esto es
otro comentario
multilinea */

La expresion regular es:

Código:
"(\/\*(\s*|.*?)*\*\/)|(\/\/.*)"


Aunque hay errores con comentarios de la forma
Código:
<?php // comentario ?>

Y como valor agregado tambien he hallado la forma de capturar variables de un archivo php, y como se sabe éstas inician con un simbolo $

y su expresion regular es:

Código:
"(\$(\s*|.*?)(\?|}|&|\||;|\*|/|-|!|<|>|,|\[|\(|\)|\=|\]|\+|\'|\.|" & Chr(34) & "))"

Para todo aquel que le sirva.


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [Solucionado] Expresion regular para capturar comentarios multilinea de PHP
« Respuesta #2 en: 18 Enero 2012, 05:19 am »

Hola, probaste esto:

Regex to strip comments and multi-line comments and empty lines

saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines