Les fonctions d'expressions régulières extraient, font correspondre, remplacent et fractionnent des valeurs de chaîne à l'aide de motifs regex dans les règles de transformation de données.
Liste des fonctions
|
Catégorie |
Fonction |
Description |
|
Fonction d'extraction de valeur |
Extrait une valeur correspondant à une expression régulière. |
|
|
Renvoie la liste de toutes les valeurs correspondant à une expression régulière. |
||
|
Correspondance |
Vérifie si une valeur correspond à une expression régulière. |
|
|
Remplacement |
Remplace des caractères spécifiés dans une chaîne selon une expression régulière. |
|
|
Fractionnement |
Divise une chaîne en un tableau de chaînes. |
regex_select
Extrait une valeur correspondant à une expression régulière.
-
Syntaxe
regex_select(value, r"regular expression", mi=None, gi=None) -
Paramètres
Nom du paramètre
Type de paramètre
Obligatoire
Description
value
any
Oui
Valeur à mettre en correspondance.
regular expression
String
Oui
Expression régulière de mise en correspondance.
mi
int
Non
Index de la correspondance à renvoyer. La valeur par défaut est None ou 0, ce qui renvoie la première correspondance.
gi
int
Non
Index du groupe de capture à renvoyer. La valeur par défaut est None ou 0, ce qui renvoie le premier groupe.
-
Réponse
Renvoie la valeur correspondante.
-
Exemples
-
Exemple 1 : extraire la première valeur du champ str qui correspond à l'expression régulière.
-
Journal brut
str: iZbp1a65x3r1vhpe94fi2qZ -
Règle de transformation
e_set("regex", regex_select(v("str"), r"\d+")) e_set("regex2", regex_select(v("str"), r"\d+", mi=None)) e_set("regex3", regex_select(v("str"), r"\d+", mi=0)) -
Résultat
regex:1 regex2:1 regex3:1 str:iZbp1a65x3r1vhpe94fi2qZ
-
-
Exemple 2 : extraire les première et deuxième valeurs du champ str qui correspondent à l'expression régulière.
-
Journal brut
str: abc123 xyz456 -
Règle de transformation
# Extract the first value from the str field that matches the regular expression. e_set("regex", regex_select(v("str"), r"\d+")) # Extract the second value from the str field that matches the regular expression. e_set("regex2", regex_select(v("str"), r"\d+", mi=1)) -
Résultat
regex: 123 regex2: 456 str: abc123 xyz456
-
-
Exemple 3
-
Journal brut
str: abc123 xyz456 -
Règle de transformation
# Extract the value of the first group from the first expression in the str field that matches the regular expression. e_set("regex", regex_select(v("str"),r"[a-z]+(\d+)",gi=0)) # Extract the value of the first group from the second expression in the str field that matches the regular expression. e_set("regex2", regex_select(v("str"),r"[a-z]+(\d+)",mi=1,gi=0)) # Extract the value of the first group from the first expression in the str field that matches the regular expression. e_set("regex3", regex_select(v("str"),r"([a-z]+)(\d+)",gi=0)) # Extract the value of the second group from the first expression in the str field that matches the regular expression. e_set("regex4", regex_select(v("str"),r"([a-z]+)(\d+)",gi=1)) -
Résultat
str: abc123 xyz456 regex: 123 regex2: 456 regex3: abc regex4: 123
-
-
regex_findall
Renvoie un tableau de toutes les valeurs correspondant à une expression régulière.
-
Syntaxe
regex_findall(value, r"regular expression") -
Paramètres
Nom du paramètre
Type de paramètre
Obligatoire
Description
value
any
Oui
Valeur à mettre en correspondance.
regular expression
String
Oui
Expression régulière.
-
Réponse
Renvoie la liste de toutes les valeurs correspondantes.
-
Exemples
Extraire tous les nombres du champ str :
-
Journal brut
str: iZbp1a65x3r1vhpe94fi2qZ -
Règle de transformation
e_set("regex_findall", regex_findall(v("str"),r"\d+")) -
Résultat
str: iZbp1a65x3r1vhpe94fi2qZ regex_findall: ["1", "65", "3", "1", "94", "2"]
-
regex_match
Vérifie si une valeur correspond à une expression régulière.
-
Syntaxe
regex_match(value, r"regular expression", full=False) -
Paramètres
Nom du paramètre
Type de paramètre
Obligatoire
Description
value
any
Oui
Valeur à mettre en correspondance.
regular expression
string
Oui
Expression régulière.
full
Bool
Non
Indique s'il faut exiger une correspondance complète. La valeur par défaut est False.
-
Réponse
Renvoie true ou false pour indiquer si la valeur correspond.
-
Exemples
Vérifier si le champ str contient des nombres :
-
Journal brut
str: iZbp1a65x3r1vhpe94fi2qZ -
Règle de transformation
# Check whether the str field contains numbers. e_set("regex_match", regex_match(v("str"),r"\d+")) # Check whether the str field consists of only numbers. e_set("regex_match2", regex_match(v("str"),r"\d+",full=True)) -
Résultat
str: iZbp1a65x3r1vhpe94fi2qZ regex_match: true regex_match2: false
-
regex_replace
Remplace des caractères spécifiés dans une chaîne selon une expression régulière.
-
Syntaxe
regex_replace(value, r"regular expression", replace="", count=0) -
Paramètres
Nom du paramètre
Type de paramètre
Obligatoire
Description
value
any
Oui
Valeur à remplacer.
regular expression
string
Oui
Expression régulière.
replace
string
Non
Chaîne de remplacement. La valeur par défaut est une chaîne vide, ce qui supprime les caractères correspondants.
Les expressions régulières sont prises en charge. Par exemple,
r"\1****\2"spécifie que la chaîne de remplacement utilise des références de groupe de capture.-
\1représente le premier groupe. -
\2représente le deuxième groupe.
count
Number
Non
Nombre de remplacements. La valeur par défaut est 0, ce qui remplace toutes les correspondances.
-
-
Réponse
La chaîne après remplacement.
-
Exemples
-
Exemple 1 : remplacer tous les nombres du champ str par 13.
-
Journal brut
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 -
Règle de transformation
e_set("regex_replace", regex_replace(v("str"),r"\d+",v("replace"))) -
Résultat
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 regex_replace: iZbp13a13x13r13vhpe13fi13qZ
-
-
Exemple 2 : masquer les quatre chiffres du milieu d'un numéro de téléphone portable.
-
Journal brut
iphone: 13900001234 -
Règle de transformation
e_set( "sec_iphone", regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"), )Remarquereplace=r"\1****\2"indique que la chaîne de remplacement est formatée commer"\1****\2".\1représente le premier groupe, soit(\d{0,3}).\2représente le deuxième groupe, soit(\d{4}).
-
Résultat
iphone: 13900001234 sec_iphone: 139****1234
-
-
regex_split
Divise une chaîne en un tableau de chaînes.
-
Syntaxe
regex_split(value, r"regular expression", maxsplit=0) -
Paramètres
Nom du paramètre
Type de paramètre
Obligatoire
Description
value
any
Oui
Valeur à diviser.
regular expression
string
Oui
Expression régulière.
maxsplit
int
Non
Nombre maximal de divisions. La valeur par défaut est 0, ce qui divise la chaîne à toutes les correspondances. Une valeur de 1 divise uniquement à la première correspondance.
-
Réponse
Un tableau des sous-chaînes résultantes.
-
Exemples
Diviser le champ str par les nombres :
-
Journal brut
str: iZbp1a65x3r1vhpe94fi2qZ -
Règle de transformation
e_set("regex_split", regex_split(v("str"),r"\d+")) -
Résultat
str: iZbp1a65x3r1vhpe94fi2qZ regex_split: ["iZbp", "a", "x", "r", "vhpe", "fi", "qZ"]
-