Partager via


extract()

S’applique à : ✅Microsoft Fabric

Obtenir une correspondance pour une expression régulière à partir d’une chaîne source.

Éventuellement, convertit la sous-chaîne extraite dans le type indiqué.

Syntaxe

extract( regex,captureGroup,source [,typeLiteral])

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
regex string ✔️ Expression régulière.
captureGroup int ✔️ Groupe de capture à extraire. 0 correspond à l’intégralité de la correspondance, 1 pour la valeur mise en correspondance par le premier ' ('parenthèse')' dans l’expression régulière, et 2 ou plus pour les parenthèses suivantes.
source string ✔️ Chaîne à rechercher.
typeLiteral string Si elle est fournie, la sous-chaîne extraite est convertie dans ce type. Par exemple : typeof(long).

Retours

Si regex trouve une correspondance dans source : sous-chaîne correspondant au groupe de capture captureGroup indiqué, éventuellement convertie en typeLiteral.

Si aucune correspondance n’est trouvée ou si la conversion de type échoue : null.

Exemples

Extraire le mois de la chaîne datetime

La requête suivante extrait le mois de la chaîne Dates et retourne une table avec la chaîne de date et le mois.

Exécuter le de requête

let Dates = datatable(DateString: string)
[
    "15-12-2024",
    "21-07-2023",
    "10-03-2022"
];
Dates
| extend Month = extract(@"-(\d{2})-", 1, DateString, typeof(int))
| project DateString, Month

de sortie

DateString Mois
15-12-2024 12
21-07-2023 7
10-03-2022 3

Extraire le nom d’utilisateur d’une chaîne

L’exemple suivant retourne le nom d’utilisateur de la chaîne. L’expression régulière ([^,]+) correspond au texte suivant : « Utilisateur : » jusqu’à la virgule suivante, en extrayant efficacement le nom d’utilisateur.

Exécuter le de requête

let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
| print UserName = extract("User: ([^,]+)", 1, Text)

de sortie

Nom d’utilisateur
JohnDoe