Función regexp_instr

Se aplica a:casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 11.3 LTS y versiones posteriores

Devuelve la posición de la primera subcadena de str que coincide con regexp.

Sintaxis

regexp_instr( str, regexp )

Argumentos

  • str: expresión STRING que se va a comparar.
  • regexp: expresión STRING con un patrón.

Devoluciones

Un INTEGER.

La regexp cadena debe ser una expresión regular. Consulte Expresiones regulares para obtener la sintaxis admitida.

Al usar literales, utilice raw-literal (prefijo r) para evitar el procesamiento previo de caracteres de escape.

Si alguno de los argumentos es NULL, el resultado es NULL. Si no se encuentra el patrón, el resultado es 0.

Condiciones de error comunes

Ejemplos

Buscar la posición de la primera coincidencia

El patrón Ste(v|ph)en coincide Steven al principio de la cadena, por lo que la posición es 1.

> SELECT regexp_instr('Steven Jones and Stephen Smith are the best players', 'Ste(v|ph)en');
 1

Buscar la posición del primer dígito

Las posiciones están basadas en 1.

> SELECT regexp_instr('Order 1234 shipped', r'\d');
 7

Buscar la posición de un carácter

> SELECT regexp_instr('alice@example.com', r'@');
 6

Ninguna coincidencia devuelve 0

> SELECT regexp_instr('Mary had a little lamb', 'Ste(v|ph)en');
 0

NULL input returns NULL

> SELECT regexp_instr(NULL, 'Ste(v|ph)en');
 NULL

> SELECT regexp_instr('Mary had a little lamb', NULL);
 NULL

Patrón regex no válido

> SELECT regexp_instr('abc', '[invalid');
  Error: INVALID_PARAMETER_VALUE.PATTERN