Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: yovaninu en 8 Enero 2012, 05:55 am



Título: [Solucionado] Expresion regular para capturar comentarios multilinea de PHP
Publicado por: yovaninu 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




Título: Re: [Ayuda] Expresion regular para capturar comentarios multilinea de PHP
Publicado por: yovaninu 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.


Título: Re: [Solucionado] Expresion regular para capturar comentarios multilinea de PHP
Publicado por: seba123neo en 18 Enero 2012, 05:19 am
Hola, probaste esto:

Regex to strip comments and multi-line comments and empty lines (http://stackoverflow.com/questions/643113/regex-to-strip-comments-and-multi-line-comments-and-empty-lines)

saludos.