Skip to main content
Workday User Guide
Laatst bijgewerkt: 2023-06-23
REGEX

REGEX

Omschrijving

REGEX
is een rijfunctie die een match maakt met een hele tekenreeks voor a
TEXT
waarde met een reguliere expressie en retourneert het gedeelte van de tekenreeks dat overeenkomt met de eerste vastleggingsgroep van de reguliere expressie.

Syntaxis

REGEX
(
string_expression
,"
regex_matching_pattern
")

Retourwaarde

Retourneert de matchende
TEXT
waarde van de eerste vastleggroep van de reguliere expressie. Als er geen match is, wordt geretourneerd
NULL
.

Invoerparameters

string_expression
Vereist. De naam van een veld of expressie van het type
TEXT
(of een letterlijke tekenreeks).
regex_matching_pattern
Vereist. Een patroon voor reguliere expressies op basis van de syntaxis voor matchende patronen voor reguliere expressies van de programmeertaal Java. Als u een niet-NULL-waarde wilt retourneren, moet het patroon van de reguliere expressie matchen met de hele
TEXT
waarde.

Constructies reguliere expressies

Zie de referentie voor reguliere expressies voor informatie over de constructen die worden gebruikt voor het definiëren van een matchpatroon voor reguliere expressies.

Vastleggende en niet-vastleggende groepen

Groepen worden aangegeven met een paar haakjes rond een subpatroon in de reguliere expressie. Een patroon kan meer dan één groep hebben en de groepen kunnen worden genest. De groepen worden van links naar rechts genummerd van 1-
n
, te beginnen bij het eerste haakje openen. Er is altijd een impliciete groep 0, die de hele match bevat. Bijvoorbeeld het patroon:
(a(b*))+(c)
bevat drie groepen:
group 1: (a(b*)) group 2: (b*) group 3: (c)
Vastleggen van groepen
Een groep
legt
standaard de tekst vast die een match oplevert, en alleen de meest recente match wordt vastgelegd. De
REGEX
functie retourneert de tekenreeks die overeenkomt met de eerste vastleggingsgroep in de reguliere expressie. Als de invoertekenreeks voor de bovenstaande expressie bijvoorbeeld is:
abc
, de hele
REGEX
functie matcht met:
abc
, maar retourneert alleen het resultaat van groep 1, namelijk:
ab
.
Niet-vastleggende groepen
In sommige gevallen wilt u mogelijk haakjes gebruiken om subpatronen te groeperen, maar niet om tekst vast te leggen. Een niet-vastleggende groep begint met
(?:
(een vraagteken en een dubbele punt na het haakje openen). Bijvoorbeeld
h(?:a|i|o)t
matches
hat
of
hit
of
hot
, maar legt niet de vast
a
,
i
, of
o
uit de subexpressie.

Voorbeelden

Match alle mogelijke e-mailadressen met een patroon van
gebruikersnaam
@
provider
.
domein
, maar retourneert alleen het
aanbiedergedeelte
van het e-mailadres uit het
e-
mailveld:
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
Match de aanvraagregel van een weblog, waarbij de waarde de volgende notatie heeft:
GET /some_page.html HTTP/1.1
en retourneert alleen de aangevraagde HTML-paginanamen:
REGEX([weblog_request_line], "GET\s/
([a-zA-Z0-9._%-]+\.[html])
\sHTTP/[0-9.]+")
Het inch-gedeelte extraheren uit a
height
veld waarin voorbeeldwaarden zijn
6'2"
,
5'11"
(let op de escapetekens van het letterlijke aanhalingsteken met een dubbel dubbel aanhalingsteken):
REGEX([height], "\d\'(\d)+""")
Alle inhoud van '' extraheren
device
veld wanneer de waarde is
iPod
,
iPad
, of
iPhone
:
REGEX([device], "(iP[ao]d|iPhone)")