En el Generador de cadenas, puedes utilizar operadores de expresiones regulares (regex) para hacer coincidir caracteres en cadenas de texto, como para definir patrones para:
- Asignación de reglas de transformación para un canal de conector de Preparación de los datos.
- Los comandos de archivo Buscar, Buscar y reemplazar y Dividir del conector Utilidades de archivo.
- Los comandos de filas Filtro de columnas, filtro de filas, Buscar y reemplazar, Combinar columnas y Filtro inteligente del conector Transformación de tablas.
Operadores comunes
Para definir patrones de coincidencia, puedes utilizar estos operadores comunes:
| Operador | Descripción | Ejemplo | Devuelve |
|---|---|---|---|
^ |
Coincide con el principio de una cadena. | ^abc |
abc, abcdef..., abc123 |
$ |
Coincide con el final de una cadena. | abc$ |
my:abc, 123abc, theabc |
. |
Coincide con cualquier carácter como comodín. | a.c |
abc, asc, a123c |
| |
Un carácter O | abc|xyz |
abc o xyz |
(...) |
Captura los valores entre paréntesis. | (a)b(c) |
a y c |
[...] |
Coincide con todo lo que esté entre corchetes. | [abc] |
a, b o c |
[a-z] |
Coincide con caracteres en minúscula entre a y z. | [b-z] |
bc, mind, xyz |
[0-9] |
Coincide con cualquier valor numérico entre 0 y 9. | [0-3] |
3201 |
{x} |
El número exacto de veces que debe coincidir. | (abc){2} |
abcabc |
{x,} |
El número mínimo de veces que debe coincidir. | (abc){2,} |
abcabcabc |
* |
Coincide con cualquier cosa en lugar del *, o una coincidencia holgada. | ab*c |
abc, abbcc, abcdc |
+ |
Coincide con el carácter anterior a + una o más veces. | a+c |
ac, aac, aaac |
? |
Coincide con el carácter anterior a ? cero o una vez, o una coincidencia no holgada. | ab?c |
ac, abc |
/ |
Ignora el carácter después de /, o crea una secuencia de escape. | a/bc |
a c, con el espacio correspondiente a /b |
Para utilizar el carácter literal de un operador dentro de un patrón, no como regex:
- Para un circunflejo (
^), punto (.), corchete abierto ([), signo de dólar ($), paréntesis abierto o cerrado (() o ()), barra (|), asterisco (*), signo más (+), signo de interrogación (?), llave abierta ({) o barra invertida (\), utilízalos seguidos del operador de escape (\). - Para un corchete final (
]) o una llave final (}), utilízalos como primer carácter, con o sin apertura^. - Para un guión (
-), utilízalo como primer o último carácter, o en el segundo punto final de un intervalo.
Consejo: Todos los caracteres entre paréntesis se entienden literalmente, y no como operadores regex. Por ejemplo, [*\+?{}.] coincide con cualquiera de los caracteres literales entre paréntesis.
Coincidencia de inicio o final de cadena (^ y $)
Para hacer coincidir patrones al principio o al final de la cadena, utiliza los operadores ^ y $ , respectivamente. Por ejemplo:
| Ejemplo | Coincidencias |
|---|---|
^El |
Cualquier cadena que empiece por El. |
de desesperación$ |
Cualquier cadena que termine con de desesperación. |
^abc$ |
Una cadena que empieza y acaba por abc (una coincidencia exacta). |
Consejo: Si no se utiliza ni ^ ni $, el patrón coincide con cualquier cadena que contenga los caracteres especificados. Por ejemplo, aviso (sin ^ ni $) devuelve cualquier cadena que contenga aviso.
Caracteres coincidentes (*, + y ?)
Para hacer coincidir patrones basados en un carácter específico, introduce después del carácter el operador *, + o ?. Estos operadores indican el número de veces que debe aparecer el carácter para obtener una coincidencia: cero o más, uno o más, o uno o cero, respectivamente. Por ejemplo:
| Ejemplo | Coincidencias |
|---|---|
ab* |
Una cadena que contiene a seguida de cero o más b: ac, abc o abbc. |
ab+ |
Una cadena que contiene a seguida de una o más b: abc o abbc, pero no ac. |
ab? |
Una cadena que contiene a seguida de cero o una b: ac o abc, pero no abc. |
a?b+$ |
Una cadena que termina con uno o más bs, con o sin un a precedente ; por ejemplo, ab, abb, b, o bb, pero no aab o aabb |
Coincidencia de frecuencia de caracteres ({...} o (...))
Para hacer coincidir un patrón en función de la frecuencia de aparición de un único carácter, escribe a continuación el número o rango de instancias, entre llaves ({...}). Por ejemplo:
| Ejemplo | Coincidencias |
|---|---|
ab{2} |
Una cadena que contiene a, seguida de exactamente 2 b: abb. |
ab{2,} |
Una cadena que contiene a seguida de al menos 2 b: abb, abbbb, etc. |
ab{3,5} |
Una cadena que contiene a seguida de tres a cinco bs: abbb, abbbb o abbbbb. |
Consejo: Especifica siempre el primer número de un rango: {0,2} y no {,2}. En lugar de los rangos {0,}, {1,} o {0,1}, puedes utilizar los operadores *, + o ?, respectivamente.
Para hacer coincidir un patrón en función de la frecuencia con la que aparece una secuencia de caracteres, enciérrala entre paréntesis ((...)). Por ejemplo, a(bc){1,5} coincide con una cadena que contiene a seguida de una a cinco instancias de bc.
Coincidencia de uno de varios patrones (|)
Para que coincida con uno de varios patrones, como este O ese, utiliza el operador O |. Por ejemplo:
| Ejemplo | Coincidencias |
|---|---|
hey|hola |
Una cadena que contiene hey u hola. |
(b|cd)ef |
Una cadena que contiene bef o cdef. |
(a|b)*c |
Una cadena que tiene una secuencia alterna de a y b, terminando con c. |
Coincidencia de cualquier carácter (.)
Para representar cualquier carácter de un patrón que coincida, utiliza el operador comodín .. Por ejemplo:
| Ejemplo | Coincidencias |
|---|---|
a.[0-9] |
Una cadena que contiene a seguida de cualquier carácter y un dígito. |
^.{3}$ |
Cualquier cadena de exactamente tres caracteres. |
Coincidencia de posición de caracteres ([...])
Para hacer coincidir un patrón basado en la posición de un carácter, utiliza paréntesis ([...]). Por ejemplo:
| Ejemplo | Coincidencias |
|---|---|
[ab] |
Una cadena que contiene a o b; equivalente a a|b. |
[a-d] |
Una cadena que contiene una minúscula |
^[a-zA-Z] |
Una cadena que empieza por cualquier letra, independientemente de que esté en mayúscula o minúscula. |
[0-9]% |
Una cadena que contiene cualquier dígito seguido de un signo de porcentaje. |
,[a-zA-Z0-9]$ |
Una cadena que termina con una coma seguida de cualquier carácter. |
Nota: Todos los caracteres entre corchetes se entienden literalmente, y no como operadores regex. Por ejemplo, [*\+?{}.] coincide con cualquiera de los caracteres literales entre paréntesis.
Coincidencia de caracteres no deseados ([^...])
Para que coincida con un patrón que no contenga caracteres, inicia la secuencia con un operador ^ y enciérrala entre corchetes. Por ejemplo, %[^a-zA-z]% coincide con una cadena que contenga cualquier carácter no alfabético entre dos signos de porcentaje.