[Solucionado] Expresion regular para capturar comentarios multilinea de PHP

Iniciado por yovaninu, 8 Enero 2012, 05:55 AM

0 Miembros y 1 Visitante están viendo este tema.

yovaninu

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:  

/* el comentario */


Esta seria su ER

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:

/* esto
es un
comentario */



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

Saludos



yovaninu

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


// esto es un comentario


o de la forma


/* esto es
otro comentario
multilinea */


La expresion regular es:


"(\/\*(\s*|.*?)*\*\/)|(\/\/.*)"



Aunque hay errores con comentarios de la forma

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


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


Para todo aquel que le sirva.

seba123neo

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson