Hay un curso en platzi dedicado a este tema https://platzi.com/cursos/expresiones-regulares/.

Son muy poderosas y las usamos para hacer un Filtrado de Datos.

Es una manera rápida de hacer una validación de patrones muy compleja.

CURSO

En postgre las expresiones inician con ~* donde el * es que aplica globalmente. Varía entre lenguajes y RDBMS, pero la forma como se escribe la expresión es más general entre lenguajes.

  1. Ejemplo con los correos electrónicos de los estudiantes.
SELECT email
FROM platzi.alumnos
WHERE email ~*'[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}';
SELECT email
FROM platzi.alumnos
WHERE email ~*'[A-Z0-9._%+-]+@google[A-Z0-9.-]+\\.[A-Z]{2,4}';

Al correr el código si encuentra algún patrón fuera de lo que especificamos lo deja por fuera.

En MySQL se usa REGEXP'[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}';