Caprica
Rincón donde hablo sobre las cosas que me interesan: tecnología, ciencia, software libre, ciencia ficción, fantasía y frikadas varias.

Mi twitter

carlos.mestre at gmail dot com

Archivos

<Marzo 2023
Lu Ma Mi Ju Vi Sa Do
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Inicio > Historias > Las expresiones regulares son bellas...

Las expresiones regulares son bellas...

Las expresiones regulares , más comunmente llamadas Regex, se utilizan para hacer búsquedas y reemplazar texto, permitiendonos expresiones muy potentes, seguro que a los de informática les suena :-). Una forma sencilla de que aprendas expresiones regulares es que practiques con el vim. Puedes introducir una barra ("/") y la s precedidad de dos puntos (":") para realizar búsquedas y sustituciones respectivamente.

Esta tarde estaba haciendo una memoria en LaTeX, y me hizo falta hacerme una regex durante la redacción, tenía que cambiar todas las expresiones de la forma \verb+Código+ a:

\begin{verbatim}
Código
\end{verbatim}

En menos de un minuto me salió esto:

1,$s/\verb+\(.*\)+$/\begin{verbatim}\r\1\r\end{verbatim}/

(Entre los \r de la segunda parte va una barra y un 1, "\" + "1",que corresponde al texto que hemos seleccionado con \(.*\), no sé por qué no me muestra dicho conjunto de caractéres)

En LaTeX si encierras algo dentro de verbatim consigues que se muestre el código tal cuál, sin necesidad de meter ninguna línea de LaTeX, es útil sobre todo para meter código sin hacer malabares :-).

Expresiones como estas te sacan de muchos apuros, sobretodo si estás programando, solo es cuestion de dedicarle unos minutos. Si quieres saber más, mirate un buen manual.

Para los más frikis, en vim también se pueden usar expresiones regulares de perl en vim con la sentencia perldo.

Espero dentro de poco hacer alguna pequeña introducción a las expresiones regulares en vim, mientras tanto toca estudiar que es momento de exámenes.

Share |

2007-06-18 21:01 | | 7 Comentarios | Enlace permanente

Referencias (TrackBacks)

URL de trackback de esta historia http://caprica.blogalia.com//trackbacks/50321

Comentarios

1
De: Lufa_Tfe Fecha: 2007-06-18 22:31

y despues te kejasXD yo es q entro en un blog y veo algo asi y corro en direccion contraria!!!!

:D weeeeeeeeee vamos de frikiXD ta guay pa q negarlo :P ainssssXD asi m va la vida XD entre el descubrimiento de moebius y estoXD jajajajaja

bechitos :P



2
De: faraox Fecha: 2007-06-19 00:14

Jajaja pero si yo no soy el que tengo un frikilandia como nombre de blog :-P. A ver cuando te pones a actualizar tu blog...

:-))



3
De: jose Fecha: 2007-06-19 01:44

perldo, recurso ideal para los wierdos y los hablantes de nerdo.



4
De: JJ Fecha: 2007-06-19 10:50

O sea, que la regexp la hiciste directamente en vim? Yo en emacs las uso de vez en cuando, pero como tienen una sintaxis peculiar me acaba resultando más fácil hacerlo en perl...



5
De: faraox Fecha: 2007-06-19 11:43

Sí, en vim directamente. Estuve mirando un tiempo expresiones en perl, y al final como las de vim ya las conocía... En todo caso creo que vim no es tan potente como las de perl, pero por el momento para las cosas que hago con vim es más que suficiente :P

De todas formas hay cosillas que no me molan de las del vim, por ejemplo tener que usar un 'r' en vez de un 'n' para insertar un salto de línea que sería lo normal.

Sí, puedes usar directamente el intérprete de perl en vez de "perldo"!

Por cierto, que me ha faltado la parte importante, el 1 para que meta el texto entre las dos etiqutas!



6
De: SegFault Fecha: 2007-06-19 12:19

Puedes sustituir 1,$ por % que especifica todo el fichero, en vez de especificar "desde la línea 1 hasta el final" con 1,$ :-)

:%s/esto/aquello/

:-)

--
SegFault



7
De: faraox Fecha: 2007-06-19 12:49

Cierto, no sé por qué, estoy acostumbrado a poner el 1,$ :-). ¿Alguno sabe perl u otro lenguaje y poner como sería la expresión? En emacs estaría interesante :-)