Expresiones Regulares en PHP: Filtrado de Datos CSV
Clase 23 de 29 • Curso de Expresiones Regulares
Contenido del curso
- 5

Uso de Expresiones Regulares para Buscar y Reemplazar Texto
09:55 - 6

Búsqueda Avanzada con Expresiones Regulares: Clases y Caracteres
13:55 - 7

Operadores en Expresiones Regulares: Asterisco, Más e Interrogación
17:42 - 8

Contadores en Expresiones Regulares: Uso y Aplicaciones Prácticas
14:03 - 9

Expresiones Regulares: Uso de Lazy Matching en CSVs
07:47 - 10

Negación de Clases y Construcción de Expresiones Regulares
06:49 - 11

Expresiones Regulares para Filtrar Números Telefónicos
01:06 - 12

Expresiones Regulares para Procesar Archivos CSV Masivos
08:00
- 13

Expresiones Regulares para Análisis de Logs UNIX
07:22 - 14

Expresiones Regulares para Validar URLs y Dominios Web
08:07 - 15

Creación de Expresiones Regulares para Validación de Teléfonos
12:30 - 16

Validación de Correos Electrónicos con Expresiones Regulares
13:42 - 17

Expresiones Regulares para Coordenadas Geográficas
17:16 - 18

Validación de Nombres Propios y Apellidos en Regex
03:21
- 20

Extracción de Variables en URLs con Expresiones Regulares
10:49 - 21

Uso de Expresiones Regulares en Perl, PHP, Python y JavaScript
03:29 - 22

Extracción de Información con Expresiones Regulares en Perl
23:35 - 23

Expresiones Regulares en PHP: Filtrado de Datos CSV
09:30 - 24

Análisis de Datos de Partidos de Fútbol con Expresiones Regulares
16:26 - 25

Expresiones Regulares en Python para Análisis de Datos
21:58 - 26

Lectura de Archivos en Java con BufferReader
07:59 - 27

Expresiones Regulares en Java: Búsqueda y Filtrado de Datos
08:48 - 28

Validación de Emails con JavaScript y Expresiones Regulares
17:35 - 29

Expresiones Regulares en Línea de Comandos UNIX y Windows
08:18
¿Cómo usar expresiones regulares en PHP?
PHP sigue siendo un lenguaje muy utilizado en la web moderna, y aunque no sea el favorito de todos, su capacidad para manejar expresiones regulares es impresionante y ampliamente funcional. Aprender a utilizar estas funciones en PHP puede hacer que la manipulación de textos sea más precisa y más rápida. Aquí vamos a explorar cómo manejar expresiones regulares con PHP, partiendo de la lectura de un archivo CSV.
¿Cómo leer un archivo en PHP?
Para empezar a trabajar con expresiones regulares en PHP, primero debemos leer un archivo. Supongamos que tenemos un archivo llamado results.csv.
<?php
$file = fopen('files/results.csv', 'r');
while (!feof($file)) {
$line = fgets($file);
echo $line;
}
fclose($file);
?>
Este código abre el archivo para su lectura y recorre cada línea imprimiéndola en la pantalla. Es un paso esencial antes de aplicar cualquier procesamiento de texto, como el uso de expresiones regulares.
¿Cómo usar preg_match en PHP?
El siguiente paso es utilizar la función preg_match de PHP, que permite buscar coincidencias en una cadena de texto utilizando una expresión regular. Esta función devuelve un valor booleano: true si hay una coincidencia y false si no la hay.
<?php
$pattern = '/^2018-\d{2}-\d{2}/';
if (preg_match($pattern, $line, $matches)) {
print_r($matches);
}
?>
En este ejemplo, buscamos líneas que comiencen con la fecha en el formato YYYY-MM-DD del año 2018. La expresión regular ^2018-\d{2}-\d{2} busca específicamente estas fechas, donde \d es un dígito y {2} indica dos dígitos consecutivos.
¿Cómo mejorar la precisión de las expresiones?
Al trabajar con expresiones regulares, a veces es necesario hacerlas más estrictas o más flexibles. Podemos utilizar metacaracteres como .* que permiten cualquier carácter en cualquier cantidad para ser más inclusivos.
Imagina que quieres buscar todos los juegos de enero de 2018:
<?php
$pattern = '/^2018-01-\d{2},/';
if (preg_match($pattern, $line, $matches)) {
$day = $matches[1]; // Suponiendo que se agrupa el día
echo "Día del partido: $day\n";
}
?>
Este ejemplo busca líneas que comiencen con fechas específicas de enero de 2018 y, si encuentra una coincidencia, imprime el día específico del partido.
¿Qué detalles considerar al diseñar una expresión regular?
- Escapado de caracteres: Asegúrate de escapar los caracteres especiales como los guiones
-o los puntos.para que sean interpretados literalmente cuando sea necesario. - Comillas: Es importante saber usar comillas simples para contener expresiones regulares porque evitan la necesidad de escapar ciertos caracteres adicionales.
- Agrupaciones: Utiliza paréntesis para crear grupos en tu expresión regular cuando necesites extraer partes específicas de la cadena de texto.
Evaluación de coincidencias y estadísticas
Al finalizar el procesamiento, podemos evaluar cuántas coincidencias se encontraron y cuántas no:
<?php
$matchCount = 0;
$noMatchCount = 0;
if (preg_match($pattern, $line)) {
$matchCount++;
} else {
$noMatchCount++;
}
printf("Matches: %d\nNo Matches: %d\n", $matchCount, $noMatchCount);
?>
Este tipo de evaluación es crucial para entender la eficacia de nuestras expresiones.
Conclusion
PHP ofrece herramientas poderosas para trabajar con expresiones regulares, permitiendo una búsqueda y manipulación de texto muy detallada y específica. Con práctica y atención a los detalles, puedes dominar la creación de expresiones regulares eficaces y eficientes. ¡Anímate a experimentar y fortalecer tus habilidades en este lenguaje y observa cómo tus proyectos ganan en robustez y funcionalidad!