aulas

3
http://www.regular-expressions.info/ Referencias ? El elemento precedente es opcional y debe coincidir al menos una vez. * El elemento precedente debe coincidir cero o más veces {n} El elemento precedente debe coincidir exactamente n veces + El elemento precedente debe coincidir una o más veces. {,m} El elemento precedente es opcional y debe coincidir al menos m veces. {n,m } El elemento precedente debe coincidir al menos n veces pero no más de m veces. Patrón Qué representa pablo La cadena pablo ^pablo La cadena pablo al comienzo de una línea. pablo$ La cadena pablo al final de una línea. ^pablo$ La cadena pablo formando una única línea. niñ[oa] La cadena niño o niña ni[^aeiou ]o La tercera letra no es una vocal minúscula. ga.o La tercera letra es cualquier carácter. ^....$ Cualquier línea que contenga 4 caracteres. ^\. Cualquier línea que comienza por punto. ^[^.] Cualquier línea que no comienza por punto. niños* niño, niños, niñoss, niñosss, etc “niño” niño entre comillas dobles. “*niño”* niño con o sin comillas dobles. [a-z][a- z]* una o más letras minúsculas. [a-z]+ una o más letras minúsculas (sólo válido en algunas aplicaciones). [^0-9A-Z] cualquier caracter que no sea ni número ni letra mayúscula. [a-zA-Z] cualquier letra sea mayúscula o minúscula. [Ax5] cualquier carácter que sea A, x o 5. niño| niña|nada una de las tres palabras. (s| arb)usto la palabra susto o arbusto. ga?t[oa] gato, gata, gasto, gaita, etc. \<ga cualquier palabra que empiece por ga. ño\> cualquier palabra que termine por ño

Transcript of aulas

Page 1: aulas

http://www.regular-expressions.info/

Referencias

? El elemento precedente es opcional y debe coincidir al menos una vez.* El elemento precedente debe coincidir cero o más veces{n} El elemento precedente debe coincidir exactamente n veces+ El elemento precedente debe coincidir una o más veces.{,m} El elemento precedente es opcional y debe coincidir al menos m veces.{n,m}El elemento precedente debe coincidir al menos n veces pero no más de m veces.

Patrón Qué representapablo La cadena pablo^pablo La cadena pablo al comienzo de una línea.pablo$ La cadena pablo al final de una línea.^pablo$ La cadena pablo formando una única línea.niñ[oa] La cadena niño o niñani[^aeiou]o La tercera letra no es una vocal minúscula.ga.o La tercera letra es cualquier carácter.^....$ Cualquier línea que contenga 4 caracteres.^\. Cualquier línea que comienza por punto.^[^.] Cualquier línea que no comienza por punto.niños* niño, niños, niñoss, niñosss, etc“niño” niño entre comillas dobles.“*niño”* niño con o sin comillas dobles.[a-z][a-z]* una o más letras minúsculas.[a-z]+ una o más letras minúsculas (sólo válido en algunas aplicaciones).[^0-9A-Z] cualquier caracter que no sea ni número ni letra mayúscula.[a-zA-Z] cualquier letra sea mayúscula o minúscula.[Ax5] cualquier carácter que sea A, x o 5.niño|niña|nadauna de las tres palabras.(s|arb)usto la palabra susto o arbusto.ga?t[oa] gato, gata, gasto, gaita, etc.\<ga cualquier palabra que empiece por ga.ño\> cualquier palabra que termine por ño\<niño\> la palabra niñoo\{2,\} dos o más oes en una misma fila.

Ejercicio 1

Crea un fichero de texto (expr_reg_1.txt) que contenga las siguientes palabras (una en cada

línea):

a aba aabb aabbb aaabbbaa baa abab ababa bababaab bbb baaa abbba bbaabbba aaaa baba bbaab bbabaaaaa aaba bbbb bbbaa bbbabb

Page 2: aulas

Escribe expresiones regulares de manera que la orden

$ grep -opciones expresion_regular expr_reg_1.txt

extraiga únicamente las líneas que:

1. contengan la cadena "aba"

2. contengan tres "b" seguidas

3. empiecen por dos "a"

4. terminen por "ba"

5. empiecen por "a" y terminen por "b" (enmedio puede haber cualquier cosa)

6. contengan sólo "a" (la cantidad no importa)

7. primero haya sólo una "b" y luego varias "a" (y no vuelva a haber más "b")

8. tengan tanto "a" como "b" (el orden o la cantidad no importa)

9. no tenga más de tres "a" o tres "b" seguidas

10. vayan alternando las "a" y las "b" sin repetirse

11. sólo tenga parejas de "a" y de "b"

12. tengan sólo "a" o sólo "b"

13. haya unas cuantas "a" y luego unas cuantas "b" o al revés

14. contengan la cadena "aba" o la cadena "bab"

15. contengan la cadena "ba" dos veces

Ejercicio 2

Crea un fichero de texto (expr_reg_2.txt) que contenga las siguientes palabras (una en cada línea):

-34,212/05/2004

32.455

693141592 Pepito Conejo

-45 1990130N 333, 91234567esto no son cuatro palabras

.5667 199011N3333,3

963141592Esto Son Cuatro Palabras

03/001/2003

22556871n 4/3/5 99/99/99 hola 25

12.34 26026 68888PEPito CONejo

hola adios

Escribe expresiones regulares de manera que la orden

$ grep -opciones expresion_regular expr_reg_1.txt

extraiga únicamente las líneas que sean:

1. números enteros (positivos o negativos)

2. números decimales (con una coma como separador decimal)

3. números decimales (con una coma o un punto como separador decimal)

4. números de teléfonos (de nueve cifras, que empiecen por 9 o 6)

Page 3: aulas

5. códigos postales (de cinco cifras, que empiecen como mucho por 5)

6. DNI (siete u ocho cifras que pueden ir seguidas de una letra)

7. fechas (dd/mes/año)

8. palabras en minúsculas sin números

9. palabras en las que sólo la primera letra esté en mayúscula

10. tres o cuatro palabras (sin números)