[Qualipso-a4] bugs en las herramientas de búsqueda de patrones
Miguel Angel Tinte Garcia
matinte en gsyc.es
Mie Feb 25 11:53:26 CET 2009
Gracias Javier, tiene muy buena pinta. Acabo de adaptar las reg-exp para
ficheros de codigo y he lanzado el programa test.py de prueba que busca
en los ficheros bugs.txtx y files.txt. Efectivamente reconoce todos los
ficheros pero devuelve algunas cosas extra:
[(' ', 'advSearchServices.py', 'py', ' '),
(' ', 'examples.java', 'java', ' '),
(' ', 'patterns.py', 'py', ' '),
(' ', 'test.py', 'py', ' '),
(' ', 'library.c', 'c', ' '),
('\n', 'test.py', 'py', ' ')]
¿Sabes como podemos controlar esas "cosas" extra que encuentra?
Un saludo
El mar, 24-02-2009 a las 14:33 -0500, Javier Pueyo escribió:
> Hola,
>
> El mar, 24-02-2009 a las 18:13 +0100, Miguel Angel Tinte Garcia
> escribió:
> > Acabo de hacer unas modificaciones en los patrones para resolver estos
> > errores.
>
> Quizá no tenga importancia, pero por si acaso lo comento, la solución
> que hay ahora: '\S*\.c ' tiene varios problemas:
>
> 1) no matchea cadenas como: "he visto el fichero xxxx.c" (es decir, en
> final de cadena, ya que exigimos que haya un espacio detrás de c)
>
> 2) no matchea ficheros entre comillas. Ejemplos:
>
> se llama 'xxxx.c' en el repositorio
> se llama "xxxx.c" en el repositorio
>
> (ya que exigimos que haya un espacio detrás de c)
>
> 3) no matchea ficheros con puntuación detrás. Ejemplos:
>
> se llaman xxxx.c, xxxx.java, xxxx.pl
> se llama xxxx.c; pero no lo veo en el repositorio
> y se llama xxxx.c. Hablando de otra cosa
> se llama xxxx.c: y sí está en el repositorio
>
> Seguramente no son casos tan importantes. Pero si se quieren usar regex
> para localizar nombres de ficheros en cadenas arbitrarias más amplias,
> se podría cambiar las varias regex por una más compleja.
>
> '(^|\s|\"|\')([^\s\/\"\']*?\.(c|py|java|pl))([\s\"\'\.\,\;\:]+?|$)'
>
> Es decir, "Start of string OR Whitespace OR Quotation marks" + cualquier
> número de caracteres que NOT incluyan "Space OR Slash" + ".c OR .py
> OR .java OR .pl" + "Whitespace OR Quatation marks OR Punctuation OR End
> of string".
>
> El resultado limpio, es decir xxxx.c, quedaría en el grupo 2 de los
> paréntesis de la regex: \2
>
> Os adjunto el script con el que he hecho las pruebas, por si queréis
> probar más posibilidades.
>
> > Están subidas al repositorio
>
> Si es suficiente con la solución de Miguel, cuidado que los ficheros
> perl y java siguen sin espacio en el repositorio.
>
> Saludos
>
>
>
> >
> > Ciao
> >
> >
> > El mar, 24-02-2009 a las 17:08 +0100, Jose Gato Luis escribió:
> > > Buenas,
> > >
> > > he encontrado algún nuevo bug, buscando patrones de ficheros de código
> > > fuente me devuelve esto:
> > >
> > > " voy a hablar de un par de ficheros de codigo fuente el library.c y el
> > > test.py"
> > >
> > > en vez de library.c y test.py ;)
> > >
> > > Un saludo,
> > >
> > > p.d: Miguel no corre prisa ;)
> > >
> > > Jose Gato Luis escribió:
> > > > Buenas,
> > > >
> > > > estoy probando la herramienta de búsqueda de patrones para ficheros de
> > > > código fuente y me devuelve los siguientes ejemplos:
> > > >
> > > > *** ['[cjwatson en ubuntu.c']
> > > > *** ['https://wiki.ubuntu.c']
> > > > *** ['<martin.pitt en ubuntu.c', 'https://wiki.ubuntu.c',
> > > > 'http://www.ubuntu.c', 'ubuntu-devel en lists.ubuntu.c',
> > > > 'https://lists.ubuntu.c']
> > > > *** ['https://help.ubuntu.c', 'www.c', '<http://www.c',
> > > > 'https://wiki.ubuntu.c', 'h.u.c', 'w.u.c']
> > > >
> > > > como acaban en ".c" se cree que es un fichero de código en c, ¿ideas
> > > > para unas búsquedas más refinadas?, supongo que habrá que buscar por
> > > > patrones fichero.ext, aunque un fichero se podría llamar cjwatson en ubuntu.c.
> > > >
> > > > Por otro lado, en la búsqueda de bugs, me gustaría que cuando encuentra
> > > > un bug, en vez de devolver la cadena completa (#bug 345), me devuelva
> > > > sólo el identificador (345)
> > > >
> > > > Saludos,
> > > >
> > > >
> > > >
> > >
> > >
> _______________________________________________
> Qualipso-a4 mailing list
> Qualipso-a4 en gsyc.escet.urjc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/qualipso-a4
--
Miguel Ángel Tinte García
Libre Software Engineering Lab (GSyC) | Universidad Rey Juan Carlos
matinte en gsyc.es
http://libresoft.urjc.es/
More information about the Qualipso-a4
mailing list