Passer au contenu principal
Workday User Guide
Dernière mise à jour : 2023-06-23
REGEX

REGEX

Description

REGEX
est une fonction de rangée qui effectue une correspondance de chaîne entière avec un
TEXT
avec une expression rationnelle et retourne la partie de la chaîne correspondant au premier groupe de saisie de l'expression rationnelle.

Syntaxe

REGEX
(
string_expression
,"
regex_matching_pattern
")

Valeur de retour

Renvoie les éléments mis en correspondance
TEXT
valeur du premier groupe de saisie de l'expression rationnelle. S'il n'y a pas de correspondance, retourne
NULL
.

Paramètres d'entrée

string_expression
Est obligatoire. Le nom d'un champ ou d'une expression de type
TEXT
(ou une chaîne littérale).
regex_matching_pattern
Est obligatoire. Un modèle d’expression rationnelle basé sur la syntaxe de mise en correspondance de modèles d’expression rationnelle du langage de programmation Java. Pour retourner une valeur non NULL, le modèle d'expression rationnelle doit correspondre à l'ensemble
TEXT
valeur.

Structures d'expression rationnelle

Voir la référence de l'expression rationnelle pour plus d'informations sur les constructions utilisées pour définir un modèle de correspondance d'expression rationnelle.

Groupes avec saisie et sans saisie

Les groupes sont précisés par une paire de parenthèses autour d’un sous-modèle dans l’expression rationnelle. Un modèle peut avoir plusieurs groupes et les groupes peuvent être imbriqués. Les groupes sont numérotés 1-
n
de gauche à droite, en commençant par la première parenthèse ouvrante. Il existe toujours un groupe 0 implicite qui contient la correspondance complète. Par exemple, le modèle :
(a(b*))+(c)
contient trois groupes :
group 1: (a(b*)) group 2: (b*) group 3: (c)
Groupes de saisie
Par défaut, un groupe
saisit
le texte qui génère une correspondance, et seule la correspondance la plus récente est saisie. La
REGEX
La fonction renvoie la chaîne qui correspond au premier groupe de saisie dans l'expression rationnelle. Par exemple, si la chaîne d'entrée de l'expression ci-dessus était
abc
, l'ensemble
REGEX
la fonction correspondrait à
abc
, mais ne retourne que le résultat du groupe 1, qui est
ab
.
Groupes sans saisie
Dans certains cas, vous souhaiterez peut-être utiliser des parenthèses pour regrouper des sous-modèles, mais pas pour saisir du texte. Un groupe non saisissable commence par
(?:
(un point d’interrogation et deux points après la parenthèse ouvrante). Par exemple,
h(?:a|i|o)t
correspondances
hat
ou
hit
ou
hot
, mais ne saisit pas les éléments suivants :
a
,
i
, ou
o
à partir de la sous-expression.

Exemples

Permet de mettre en correspondance toutes les adresses de courriel possibles avec le modèle
nom d'utilisateur
@
fournisseur
.
domaine
, mais retourne uniquement la partie
du fournisseur
de l'adresse de courriel provenant du champ
de courriel
:
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
Correspondre à la ligne de demande d’un journal Web, où la valeur est au format suivant :
GET /some_page.html HTTP/1.1
et retournent uniquement les noms de pages HTML demandés :
REGEX([weblog_request_line], "GET\s/
([a-zA-Z0-9._%-]+\.[html])
\sHTTP/[0-9.]+")
Extrayez la partie (po) d’un
height
champ contenant des valeurs d'exemple
6'2"
,
5'11"
(remarquez la déshérence du guillemet littéral avec un guillemet anglais simple) :
REGEX([height], "\d\'(\d)+""")
Extraire l'ensemble du contenu de
device
champ lorsque la valeur est soit
iPod
,
iPad
, ou
iPhone
:
REGEX([device], "(iP[ao]d|iPhone)")