Trabajar con expresiones regulares en Python


1. Basic matching with grep

En Python, puedes realizar una búsqueda básica de patrones usando el módulo re. Aquí mostramos cómo verificar si una cadena contiene un patrón específico.

import re

# Buscar un patrón en una cadena
pattern = 'hello'
text = 'hello world'
match = re.search(pattern, text)

if match:
    print('Pattern found:', match.group())
else:
    print('Pattern not found')

2. Simple matching in Python

Este script muestra cómo hacer una búsqueda simple utilizando expresiones regulares en Python.

import re

# Buscar una palabra específica en una cadena
pattern = r'\bworld\b'
text = 'hello world'
match = re.search(pattern, text)

if match:
    print('Match found:', match.group())
else:
    print('Match not found')

3. Wildcards and character classes

Este script utiliza comodines y clases de caracteres para buscar patrones más complejos.

import re

# Buscar patrones con comodines y clases de caracteres
pattern = r'gr[aeiou]p'
text = 'grep grip grape'
matches = re.findall(pattern, text)

print('Matches found:', matches)

4. Repetition qualifiers

Este script muestra cómo usar los calificadores de repetición para encontrar patrones que se repiten en una cadena.

import re

# Buscar patrones con calificadores de repetición
pattern = r'\d{2,4}'
text = 'My numbers are 12, 123, and 1234.'
matches = re.findall(pattern, text)

print('Matches found:', matches)

5. Escaping characters

Este script demuestra cómo escapar caracteres especiales en expresiones regulares.

import re

# Buscar un patrón con caracteres especiales
pattern = r'\d+\.\d+'
text = 'The price is 12.34 dollars.'
match = re.search(pattern, text)

if match:
    print('Match found:', match.group())
else:
    print('Match not found')

6. Regular expressions in action

Este script muestra cómo aplicar una expresión regular para validar correos electrónicos.

import re

# Validar correos electrónicos
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
email = '[email protected]'
match = re.match(pattern, email)

if match:
    print('Valid email:', match.group())
else:
    print('Invalid email')

7. Capturing groups

Este script utiliza grupos de captura para extraer partes específicas de una cadena.

import re

# Utilizar grupos de captura para extraer datos
pattern = r'(\d{2})/(\d{2})/(\d{4})'
text = 'Today's date is 15/08/2023.'
match = re.search(pattern, text)

if match:
    day, month, year = match.groups()
    print(f'Day: {day}, Month: {month}, Year: {year}')
else:
    print('No match found')

8. More on repetition qualifiers

Este script muestra cómo usar diferentes calificaciones de repetición en expresiones regulares.

import re

# Buscar patrones con diferentes calificaciones de repetición
pattern = r'\b\w+\b'
text = 'This is a test.'
matches = re.findall(pattern, text)

print('Words found:', matches)

9. Extracting a PID using regexes in Python

Este script muestra cómo extraer un PID (Process ID) de una cadena de texto utilizando expresiones regulares.

import re

# Patrón para encontrar números en el texto
pattern = r'\d+'
text = 'The current PID is 12345.'

matches = re.findall(pattern, text)
print('All numbers found:', matches)