LAS EXPRESSIONS REGULARES
2
DAY 7 - 1/28/15
SPAN 4350
Cultura computacional en español
Harry Howard
Tulane University
Organización del curso
2


http://www.tulane.edu/~howard/Span4350/
http://www.tulane.edu/~howard/CompCultES/
CultCompES, Prof. Howard, Tulane University
28-ene-2015
3
Repaso
CultCompES, Prof. Howard, Tulane University
28-ene-2015
Las expressions regulares
4
1.
2.
3.
4.
5.
>>> C = '''La libertad, Sancho, es uno de los mas
preciosos dones que a los hombres dieron los cielos;
con ella no pueden igualarse los tesoros que encierran
la tierra y el mar: por la libertad, asi como por la honra,
se puede y debe aventurar la vida.'''
>>> from re import findall
findall(patrón, cadena de meta)
>>> findall(' los ', C)
>>> findall(' uno | los | las | que ', C)
CultCompES, Prof. Howard, Tulane University
28-ene-2015
5
Open Spyder
CultCompES, Prof. Howard, Tulane University
28-ene-2015
6
§4. Las expressions regulares
4.2. La coincidencia de longitud fija
CultCompES, Prof. Howard, Tulane University
28-ene-2015
Coincidir con un grupo de caracteres con
parentesis que capturan o no, ()
7
1.
>>> findall(' (uno|los|las|que) ', C)
2.
>>> findall(' (?:uno|los|las|que) ', C)


Por defecto, las parentesis capturan la cadena que
tienen.
El prefijo ?: desactiva la captura.
CultCompES, Prof. Howard, Tulane University
28-ene-2015
Coincidir con uno de un rango de
caracteres con [] y su negación [^]
8
1.
2.
3.
4.
5.
6.
7.
8.
>>> findall(' ([a-z][a-z]) ', C)
>>> findall(' ([^0-9][^0-9]) ', C)
>>> findall(' ([m-z][m-z]) ', C)
>>> findall(' ([^m-z][^m-z]) ', C)
C2 = 'electroencefalograma'
>>> findall('a|e|i|o|u', C2)
>>> findall('[aeiou]', C2)
>>> findall('[^aeiou]', C2)
CultCompES, Prof. Howard, Tulane University
28-ene-2015
9
Coincidir con un número de
repeticiones de un carácter con {}
1.
2.
>>> findall(' ([a-z]{2}) ', C)
>>> findall(' ([a-z]{3}) ', C)
CultCompES, Prof. Howard, Tulane University
28-ene-2015
10
Coincidir con un rango de repeticiones
con {min, max}
1.
2.
>>> C3 = 'ferrocarril'
>>> findall('[^aeiou]{1,2}', C3)
CultCompES, Prof. Howard, Tulane University
28-ene-2015
Coincidir con cualquier carácter con .
11
1.
2.
3.
4.
>>> findall(' (..) ', C)
>>> findall(' (…) ', C)
>>> findall(' (.{2}) ', C)
>>> findall(' (.{3}) ', C)
CultCompES, Prof. Howard, Tulane University
28-ene-2015
12
Coincidir con el principio o final de una
cadena con ^ y $

>>> findall('^.|.$', C)
CultCompES, Prof. Howard, Tulane University
28-ene-2015
13
Next time
Un poco más sobre las exreg
CultCompES, Prof. Howard, Tulane University
28-ene-2015
Descargar

LING 681 Intro to Comp Ling