Saltar al contenido principal
Workday User Guide
Última actualización: 2023-06-23
REGEX

REGEX

Descripción

REGEX
es una función de fila que realiza una coincidencia de cadena completa con un
TEXT
value con una expresión regular y devuelve la parte de la cadena que coincide con el primer grupo de captura de la expresión regular.

Sintaxis

REGEX
(
string_expression
,"
regex_matching_pattern
")

Valor devuelto

Devuelve el valor coincidente
TEXT
el valor del primer grupo de captura de la expresión regular. Si no hay ninguna coincidencia, devuelve
NULL
.

Parámetros de entrada

string_expression
Es obligatorio. El nombre de un campo o expresión de tipo
TEXT
(o una cadena literal).
regex_matching_pattern
Es obligatorio. Un patrón de expresión regular basado en la sintaxis de coincidencia de patrón de expresión regular del lenguaje de programación Java. Para devolver un valor distinto de NULL, el patrón de expresión regular debe coincidir con todo el
TEXT
valor

Construcciones de expresiones regulares

Consulte la Referencia de expresiones regulares para obtener información sobre las construcciones utilizadas para definir un patrón de coincidencia de expresión regular.

Grupos con captura y sin captura

Los grupos se especifican mediante un par de paréntesis alrededor de un subpatrón en la expresión regular. Un patrón puede tener más de un grupo y los grupos pueden estar anidados. Los grupos se numeran del 1 al
n
de izquierda a derecha, comenzando por el primer paréntesis de apertura. Siempre hay un grupo implícito 0, que contiene la coincidencia completa. Por ejemplo, el patrón:
(a(b*))+(c)
contiene tres grupos:
group 1: (a(b*)) group 2: (b*) group 3: (c)
Captura de grupos
Por defecto, un grupo
captura
el texto que genera una coincidencia y solo se captura la coincidencia más reciente. El
REGEX
La función devuelve la cadena que coincide con el primer grupo de captura en la expresión regular. Por ejemplo, si la cadena de entrada de la expresión anterior fuera
abc
, todo el
REGEX
la función coincidiría con
abc
, pero solo devuelven el resultado del grupo 1, que es
ab
.
Grupos sin captura
En algunos casos, es posible que desee utilizar paréntesis para agrupar subpatrones, pero no capturar texto. Un grupo sin captura comienza con
(?:
(un signo de interrogación y dos puntos después del paréntesis de apertura). Por ejemplo,
h(?:a|i|o)t
coincidencias
hat
o
hit
o
hot
, pero no captura el
a
,
i
, o
o
de la subexpresión.

Ejemplos

Haga coincidir todas las direcciones de correo electrónico posibles con un patrón de nombre de
usuario
@
proveedor
.
domain
, pero solo devuelven la parte
del proveedor
de la dirección de correo electrónico del campo
de correo electrónico
:
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
Cotejar la línea de solicitud de un registro web, donde el valor tiene el siguiente formato:
GET /some_page.html HTTP/1.1
y devolver solo los nombres de página HTML solicitados:
REGEX([weblog_request_line], "GET\s/
([a-zA-Z0-9._%-]+\.[html])
\sHTTP/[0-9.]+")
Extraiga la parte de pulgadas de un
height
campo donde están los valores de ejemplo
6'2"
,
5'11"
(observe el escape de la comilla literal con una doble comilla doble):
REGEX([height], "\d\'(\d)+""")
Extraer todo el contenido de la
device
cuando el valor es
iPod
,
iPad
, o
iPhone
:
REGEX([device], "(iP[ao]d|iPhone)")