Extraer direcciones de correo electrónico usando expresiones regulares en Python

Supongamos una situación en la que tiene que leer algunos datos específicos, como números de teléfono, direcciones de correo electrónico, fechas, una colección de palabras, etc. ¿Cómo puede hacer esto de una manera muy eficiente? La mejor manera de hacerlo es la expresión regular.

Tomemos un ejemplo en el que tenemos que encontrar solo el correo electrónico de la entrada dada por la expresión regular.
Ejemplos:

Input  : Hello shubhamg199630@gmail.com Rohit neeraj@gmail.com
Output : shubhamg199630@gmail.com neeraj@gmail.com
Here we have only selected email from the given input string.

Input : My 2 favourite numbers are 7 and 10
Output :2 7 10
Here we have selected only digits.

Expresión regular :
la expresión regular es una secuencia de caracteres que se utiliza principalmente para buscar y reemplazar patrones en una string o archivo.
Entonces podemos decir que la tarea de buscar y extraer es tan común que Python tiene una biblioteca muy poderosa llamada expresiones regulares que maneja muchas de estas tareas con bastante elegancia.

Símbolo Uso
ps Coincide con el final de la línea
\s Coincide con espacios en blanco
\S Coincide con cualquier carácter que no sea un espacio en blanco
* Repite un carácter cero o más veces
\S Coincide con cualquier carácter que no sea un espacio en blanco
*? Repite un carácter cero o más veces (no codicioso)
+ Repite un carácter una o más veces
+? Repite un personaje una o más veces (no codicioso)
[aeiou] Coincide con un solo carácter en el conjunto enumerado
[^XYZ] Coincide con un solo carácter que no está en el conjunto enumerado
[a-z0-9] El conjunto de caracteres puede incluir un rango
( Indica dónde debe comenzar la extracción de strings
) Indica dónde terminará la extracción de strings
# Python program to extract numeric digit 
# from A string by regular expression...
  
# Importing module required for regular
# expressions
import re  
  
# Example String 
s = 'My 2 favourite numbers are 7 and 10'
  
# find all function to select all digit from 0   
# to 9 [0-9] for numeric Letter in the String
# + for repeats a character one or more times
lst = re.findall('[0-9]+', s)    
  
# Printing of List
print(lst)
Producción:

['2', '7', '10']
# Python program to extract emails From 
# the String By Regular Expression. 
  
# Importing module required for regular 
# expressions 
import re 
  
# Example string 
s = """Hello from shubhamg199630@gmail.com
        to priya@yahoo.com about the meeting @2PM"""
  
# \S matches any non-whitespace character 
# @ for as in the Email 
# + for Repeats a character one or more times 
lst = re.findall('\S+@\S+', s)     
  
# Printing of List 
print(lst) 
Producción:

['shubhamg199630@gmail.com', 'priya@yahoo.com']

Para más detalles:

Publicación traducida automáticamente

Artículo escrito por shubhamg199630 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *