expresiones regulares

12
Expresiones Regulares

Upload: sierra-mcclain

Post on 31-Dec-2015

26 views

Category:

Documents


3 download

DESCRIPTION

Expresiones Regulares. Introducción. Las expresiones regulares permiten expresar patrones de búsqueda genéricos dentro de cadenas. Ejemplos: a[lnm]a - Coincide con ala , ana , ama ana|ama - Coincide con ana y ama co.o- Coincide con coso , como , coro. Metacaracteres. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Expresiones Regulares

Expresiones Regulares

Page 2: Expresiones Regulares

Introducción

• Las expresiones regulares permiten expresar patrones de búsqueda genéricos dentro de cadenas.

• Ejemplos:– a[lnm]a - Coincide con ala, ana, ama– ana|ama - Coincide con ana y ama– co.o- Coincide con coso, como, coro ...

Page 3: Expresiones Regulares

Metacaracteres

• Son caracteres especiales dentro de las expresiones:

– [] {} * + \ $ ^ () | ?

• No se interpretan literalmente sino como operadores especiales para construir patrones.

Page 4: Expresiones Regulares

Clases de caracteres

• Los corchetes se utilizan para expresar clases de caracteres:– [abc] Alguno de los caracteres a, b, c– [^abc] Cualquier carácter distinto de a, b, c– [a-z] Cualquier carácter entre la a y la z– [0-9a] Cualquier carácter entre '0' y '9' y la 'a'

• El punto . representa cualquier carácter (comodín)

Page 5: Expresiones Regulares

Cuantificadores

• Los operadores de repetición son: *, +, ?– a*- O o más veces la 'a'– a+ - 1 o más veces la 'a'– a? - 1 o ninguna vez la 'a'– (abc)+ - 1 o más veces la cadena 'abc'– a{4} - la cadena 'aaaa'

Page 6: Expresiones Regulares

Alternativas

• El metacarácter | expresa alternativas:• ab|ac - la cadena 'ab' o la cadena 'ac'• ab(cd|ef) - la cadena 'abcd' o 'abef'

Page 7: Expresiones Regulares

Anclas

• Los anclas indican lugares especiales dentro de la cadena de búsqueda:– $ - final de cadena– ^ - comienzo de cadena– \b - frontera de palabra

Page 8: Expresiones Regulares

Clases especiales

• \w - alfanumérico• \W - no alfanumérico• \s - espacio• \S - no espacio• \d - dígito• \D - no dígito

Page 9: Expresiones Regulares

Expresiones regulares en python

• El módulo re maneja expresiones regulares:• >>> import re • >>> p = re.compile('[a-z]+') # compilación • >>> m = p.search('la cadena') # busqueda • >>> m.group(0) 'la' • >>> p.findall('la cadena') # obtener todas

['la','cadena']

Page 10: Expresiones Regulares

El objeto match

• El método search() retorna un objeto match– p = re.compile('expresion regular') – m = p.search('cadena de busqueda')

• Los métodos para m son:– m.start()- posición de comienzo– m.end()- posición de fin– m.group()- cadena de coincidencia

Page 11: Expresiones Regulares

Grupos• Cada par de paréntesis determina un grupo en la

coincidencia.• Se numeran de izquierda a derecha• El grupo 0 hace referencia a la coincincidencia

completa• >>> p = re.compile('(\d+),(\d+)') • >>> m = p.search('El 44,89 % del producto') • >>> m.group(0) – '44,89'

• >>> m.group(1) – '44'

• >>> m.group(2) – '89'

Page 12: Expresiones Regulares

Protegiendo los metacaracteres

• Si queremos buscar alguno de los metacaracteres explícitos es necesario protegerlos escribiendo una doble barra invertida:– '\\.' el punto – '\\(' paréntesis – '\\\\' barra invertida

• Otra forma:– r'\.' – r'\(' – r'\\'