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)
['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)
['shubhamg199630@gmail.com', 'priya@yahoo.com']
Para más detalles:
- Expresión regular en Python con ejemplos | Serie 1
- Expresiones Regulares en Python | Conjunto 2 (Buscar, unir y encontrar todo)
- Python Docs para expresiones regulares
Publicación traducida automáticamente
Artículo escrito por shubhamg199630 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA