Função regexp_instr

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 11.3 LTS e superior

Devolve a posição da primeira subcadeia de caracteres que str corresponde a regexp.

Sintaxe

regexp_instr( str, regexp )

Argumentos

  • str: Uma STRING expressão a ser correspondida.
  • regexp: Uma STRING expressão com um padrão.

Devoluções

Um INTEGER.

A regexp cadeia deve ser uma expressão regular. Ver Expressões regulares para a sintaxe suportada.

Ao usar literais, use raw-literal (r prefixo) para evitar o pré-processamento de caracteres de escape.

Se qualquer um dos argumentos for NULL, o resultado será NULL. Se o padrão não for encontrado, o resultado é 0.

Condições de erro comuns

Exemplos

Encontre a posição da primeira correspondência

O padrão Ste(v|ph)en coincide Steven no início da corda, por isso a posição é 1.

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

Encontre a posição do primeiro dígito

As posições são baseadas em 1.

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

Encontrar a posição de uma personagem

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

Nenhum jogo retorna 0

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

NULL Retornos de entrada NULL

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

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

Padrão regex inválido

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