Fonction regexp_instr

S’applique à :coche marquée oui Databricks SQL oui coché Databricks Runtime 11.3 LTS et ultérieur

Retourne la position de la première sous-chaîne de str qui correspond à regexp.

Syntaxe

regexp_instr( str, regexp )

Arguments

  • str : expression STRING à mettre en correspondance.
  • regexp : expression STRING avec un modèle.

Retours

Élément INTEGER.

La regexp chaîne doit être une expression régulière. Consultez les expressions régulières pour la syntaxe prise en charge.

Lors de l’utilisation de littéraux, utilisez raw-literal (préfixe r) pour éviter le traitement préalable du caractère d’échappement.

Si l’un des arguments est NULL, le résultat est NULL. Si le modèle est introuvable, le résultat est 0.

Conditions d’erreur courantes

Exemples

Rechercher la position de la première correspondance

Le modèle Ste(v|ph)en correspond Steven au début de la chaîne, de sorte que la position est 1.

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

Rechercher la position du premier chiffre

Les positions sont basées sur 1.

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

Rechercher la position d’un caractère

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

Aucune correspondance ne retourne 0

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

NULL retours d’entrée NULL

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

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

Modèle regex non valide

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