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 esta 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: parametro para indicarle 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})');

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 mayusculas y en el segundo caso le indicamos el parámetro i para que no distinga entre mayusculas 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 comentario

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