Operador regexp

Aplica-se a:verificação marcada como sim SQL do Databricks marca de seleção positiva Databricks Runtime 10.4 LTS e versões posteriores

Retorna true se str corresponde a regex. Essa função é um sinônimo para rlike operador.

Sintaxe

str [NOT] regexp regex

Argumentos

  • str: uma expressão STRING na ordenação UTF8_BINARY a ser ajustada.
  • regex: uma expressão STRING com um padrão correspondente.

Retornos

Um BOOLEAN.

A regex cadeia de caracteres deve ser uma expressão regular. Consulte expressões regulares para a sintaxe com suporte. Ao usar literais, use raw-literal (prefixo r) para evitar o pré-processamento do caractere de escape.

str NOT regexp ... é equivalente a NOT(str regexp ...).

Condições de erro comuns

Exemplos

Testar se uma cadeia de caracteres corresponde a um padrão

> SELECT 'Databricks SQL' regexp r'^Data';
 true

> SELECT 'Spark SQL' regexp r'^Data';
 false

Verificar se uma cadeia de caracteres contém um dígito

> SELECT 'order12345' regexp r'\d';
 true

Corresponder sem diferenciar maiúsculas de minúsculas

Use o (?i) sinalizador embutido para ignorar maiúsculas e minúsculas.

> SELECT 'HELLO WORLD' regexp r'(?i)hello';
 true

Negar uma correspondência com NOT

> SELECT 'no digits here' NOT regexp r'\d';
 true

Corresponder a uma barra invertida literal

Uma barra invertida é um metacaracter regex, portanto, corresponde a uma barra invertida literal com \\. Um literal bruto (r prefixo) evita também ter que dobrar o caractere de escape do SQL.

> SELECT r'%SystemDrive%\Users\John' regexp r'%SystemDrive%\\Users.*';
 true

> SELECT r'%SystemDrive%\Users\John' regexp '%SystemDrive%\\\\Users.*';
 true