Buscar en un Archivo usando Expresiones Regulares
Descripción
Para probar el programa puedes usar los archivos:
Escribe un programa simple que simule la operación del comando grep en Unix.
Debe pedir al usuario que ingrese una expresión regular y cuente el número de líneas que coincidan con la expresión indicada.
Ejemplos de ejecución
$ python grep.py
Ingresa una expresión regular: ^Author
mbox.txt tiene 1798 líneas que coinciden con ^Author
$ python grep.py
Ingresa una expresión regular: ^X-
mbox.txt tiene 14368 líneas que coinciden con ^X-
$ python grep.py
Ingresa una expresión regular: java$
mbox.txt tiene 4175 líneas que coinciden con java$
Solución
Mostrar solución
import re
regex = input('Ingresa una expresión regular: ')
with open('mbox.txt', 'r') as archivo:
cantidad = 0
for linea in archivo:
coincidencias = re.findall(regex, linea)
cantidad += len(coincidencias)
print(f'mbox.txt tiene {cantidad} líneas que coinciden con {regex}')
Fuente del ejercicio: https://es.py4e.com/html3/11-regex