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])Lenguaje del código: CSS (css)
  • 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})');Lenguaje del código: JavaScript (javascript)
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');Lenguaje del código: JavaScript (javascript)

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');Lenguaje del código: JavaScript (javascript)

Escribir un comentario