Función REGEXP_MATCHES en PostgreSQL

La función REGEXP_MATCHES en PostgreSQL nos devuelve un conjunto de datos (aunque solo nos devuelve un valor) que coincide con el patrón de la expresión regular indicada. Esta función está englobada en las denominadas funciones de cadena.

Sintaxis

Escribe la siguiente sintaxis para utilizarlo:

REGEXP_MATCHES(cadena, patron [, indicador])
  • REGEXP_MATCHES: es el nombre de la función.
  • cadena: cadena a buscar.
  • patrón: expresión regular.
  • indicador: parámetro para indicar opciones, en la mayoría de caso de utiliza el indicador g, ya que de lo contrario solo devolvería un resultado.

Ejemplo

Búsqueda sin opciones

En el siguiente ejemplo buscamos dentro de la cadena ‘XY1234Z’ y obtenemos los números:

SELECT REGEXP_MATCHES('XY1234Z', 'Y*([0-9]{1,3})');
Función REGEXP_MATCHES en PostgreSQL

Búsqueda con opción global

En el siguiente ejemplo buscamos dentro de la cadena ‘Hastag #PostgreSQL #Web’ y obtenemos las palabras que van después del símbolo # siempre que contenga caracteres alfanuméricos o un guión bajo. observa como le indicamos la opción para que nos devuelva todas las que encuentre:

SELECT REGEXP_MATCHES('Hastag #PostgreSQL #Web', '#([A-Za-z0-9_]+)' , 'g');

Búsqueda con opción sensible a minúsculas

En el siguiente ejemplo buscamos dentro de la cadena ‘postgreSQL1, postgreSQL2, PostgreSQL3’. En el primer caso le indicamos la opción n (la opción c también realiza la misma función) para que sea sensible a la letra P en mayúsculas y en el segundo caso le indicamos el parámetro i para que no distinga entre mayúsculas o minúsculas:

SELECT 	REGEXP_MATCHES('postgreSQL1, postgreSQL2, PostgreSQL3', '([P][A-Za-z0-9_]+)' , 'n'),
REGEXP_MATCHES('postgreSQL1, postgreSQL2, PostgreSQL3', '([P][A-Za-z0-9_]+)' , 'i');

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.