Subexpresiones ???
Publicado por luis (2 intervenciones) el 06/08/2005 23:28:40
Hola, soy un absoluto novato en esto de la programación en PERL... Hace más o menos un mes que estoy luchando para aprender este lenguaje utilizando un libro llamado "Creación de Paginas Web con Perl". El libro es, además de viejo (1996) muy malo (al menos, mal traducido)...
Muchas de las cosas que se describen en el libro no funcionan como dice que debieran... Una de esas cosas es lo que se describe como "Subexpresiones" en expresiones de búsqueda. Según el libro, uno establece un modelo que, al encontrarse una vez en una línea, lo busca a ver si está una segunda vez (o las que haga falta). El ejemplo es algo así:
/([A-Z][A-Z]).*$1/;
... donde lo que está entre paréntesis representa 2 mayúsculas cualquiera, y el $1 una potencial segunda coincidencia... Se entiende? Entonces, al buscar este modelo, coinciden lineas como:
Chicago, IL, Cairo, IL, 375
Cincinatti, OH, Cleveland, OH, 244
pero no:
Cleveland, OH, Dallas, TX, 1159
Sin embargo, no he logrado hacer funcionar esto ni una sola vez. En fin, si lo que estoy escribiendo suena ridículo o demasiado ignorante, bueno, sepan entender. Con la mala traducción puedo luchar un poco, pero esto me sobrepasa un poco... Si alguien aquí me pudiera aclarar que estoy haciendo mal (o que dice mal el maldito libro), estaría muy agradecido, y realmente recobraría un poco de voluntad para aprender este lenguaje, que me resulta bastante interesante (soy diseñador de páginas web, y la idea de poder hacer mis propios scripts me atrae).
Mil gracias desde ya!
Luis.
Muchas de las cosas que se describen en el libro no funcionan como dice que debieran... Una de esas cosas es lo que se describe como "Subexpresiones" en expresiones de búsqueda. Según el libro, uno establece un modelo que, al encontrarse una vez en una línea, lo busca a ver si está una segunda vez (o las que haga falta). El ejemplo es algo así:
/([A-Z][A-Z]).*$1/;
... donde lo que está entre paréntesis representa 2 mayúsculas cualquiera, y el $1 una potencial segunda coincidencia... Se entiende? Entonces, al buscar este modelo, coinciden lineas como:
Chicago, IL, Cairo, IL, 375
Cincinatti, OH, Cleveland, OH, 244
pero no:
Cleveland, OH, Dallas, TX, 1159
Sin embargo, no he logrado hacer funcionar esto ni una sola vez. En fin, si lo que estoy escribiendo suena ridículo o demasiado ignorante, bueno, sepan entender. Con la mala traducción puedo luchar un poco, pero esto me sobrepasa un poco... Si alguien aquí me pudiera aclarar que estoy haciendo mal (o que dice mal el maldito libro), estaría muy agradecido, y realmente recobraría un poco de voluntad para aprender este lenguaje, que me resulta bastante interesante (soy diseñador de páginas web, y la idea de poder hacer mis propios scripts me atrae).
Mil gracias desde ya!
Luis.
Valora esta pregunta


0