No Chain Builder, você pode usar operadores de expressão regular (regex) para fazer a correspondência de caracteres em cadeias de texto, por exemplo, para definir padrões para:
- Mapeamento de regras de transformação para um pipeline Data Prep connector
- Os Utilitários de arquivo conector's Localizar, Localizar e substituir, e Dividir arquivo comandos
- O conector Tabular Transformation 's Column filter, Filter rows, Find and replace, Join columns, and Smart filter rows commands
Operadores comuns
Para definir padrões a serem correspondidos, você pode usar esses operadores comuns:
| Operador | Descrição | Exemplo | Devoluções |
|---|---|---|---|
^ |
Corresponde ao início de uma cadeia de caracteres | ^abc |
abc, abcdef..., abc123 |
$ |
Corresponde ao final de uma cadeia de caracteres | abc$ |
my:abc, 123abc, theabc |
. |
Corresponde a qualquer caractere como um curinga | a.c |
abc, asc, a123c |
| |
Um caractere OU | abc|xyz |
abc ou xyz |
(...) |
Captura valores entre parênteses | (a)b(c) |
a e c |
[...] |
Corresponde a qualquer coisa dentro dos colchetes | [abc] |
a, b, ou c |
A–Z |
Corresponde a caracteres minúsculos entre a e z | [b-z] |
bc, mente, xyz |
[0-9] |
Corresponde a quaisquer valores numéricos entre 0 e 9 | [0-3] |
3201 |
{x} |
O número exato de vezes que você deve fazer a correspondência | (abc){2} |
abcabc |
{x,} |
O número mínimo de vezes que você deve fazer a correspondência | (abc){2,} |
abcabcabc |
* |
Corresponde a qualquer coisa no lugar do *, ou a uma correspondência "gananciosa" | ab*c |
abc, abbcc, abcdc |
+ |
Corresponde ao caractere antes do + uma ou mais vezes | CA |
ac, aac, aaac |
? |
Corresponde ao caractere antes do ? zero ou uma vez, ou a uma correspondência "não-correta" | ab?c |
ac, abc |
/ |
Escapa o caractere após o / ou cria uma sequência de escape | a/bc |
a c, com o espaço correspondente a /b |
Para usar o caractere literal de um operador em um padrão, use e não como regex:
- Para um circunflexo (
^), ponto final (.), colchete aberto ([), cifrão ($), parêntese aberto ou fechado (() ou ()), pipe (|), asterisco (*), sinal de mais (+), ponto de interrogação (?), chave de abertura ({) ou barra invertida (\), siga-o com o operador de escape (\). - Para um colchete final (
]) ou colchete final (}), faça dele o primeiro caractere, com ou sem abertura^. - Para um traço (
-), faça dele o primeiro ou o último caractere, ou o segundo ponto final de um intervalo.
Dica: Todos os caracteres entre colchetes são considerados literalmente, e e não como operadores de regex. Por exemplo, [*\+?{}.] corresponde a qualquer um dos caracteres literais entre colchetes.
Corresponder ao início ou ao final da cadeia de caracteres (^ e $)
Para corresponder a padrões no início ou no final da cadeia de caracteres, use os operadores ^ e $ , respectivamente. Por exemplo:
| Exemplo | Corresponde a |
|---|---|
^O |
Qualquer string que comece com O |
de desespero$ |
Qualquer cadeia de caracteres que termine com de desespero |
^abc$ |
Uma cadeia de caracteres que começa e termina com abc- uma correspondência exata |
Dica: Se você não usar ^ ou $, o padrão corresponderá a qualquer cadeia de caracteres que contenha os caracteres especificados. Por exemplo, notice-with no ^ or $-retorna qualquer string que contenha notice.
Caracteres de correspondência (*, +, e ?)
Para fazer a correspondência de padrões com base em um caractere específico, siga o caractere com o operador *, +, ou ?. Esses operadores indicam o número de vezes que o caractere deve ocorrer para uma correspondência - zero ou mais, um ou mais, ou um ou zero, respectivamente. Por exemplo:
| Exemplo | Correspondências |
|---|---|
ab* |
Uma cadeia de caracteres que contém a, seguida por zero ou mais bs-ac, abc, ou abbc |
ab+ |
Uma cadeia de caracteres que contém a, seguido por um ou mais bs-abc ou abbc, mas não ac |
ab? |
Uma cadeia de caracteres que contém a, seguido de zero ou um bs-ac ou abc, mas não abc |
a?b+$ |
Uma cadeia de caracteres que termina com um ou mais bs, com ou sem um a anterior; por exemplo, ab, abb, b, ou bb, mas não aab ou aabb |
Corresponder à frequência dos caracteres ({...} ou (...))
Para corresponder a um padrão com base na frequência com que um único caractere ocorre, siga-o com o número ou o intervalo de instâncias, entre chaves ({...}). Por exemplo:
| Exemplo | Corresponde a |
|---|---|
ab{2} |
Uma cadeia de caracteres que contém a, seguida por exatamente 2 bs-abb |
ab{2,} |
Uma cadeia de caracteres que contém a, seguida por pelo menos 2 bs-abb, abbbb, etc. |
ab{3,5} |
Uma cadeia de caracteres que contém a, seguida de três a cinco bs-abbb, abbbb, ou abbbbb |
Dica: Sempre especifique o primeiro número de um intervalo -{0,2}, e não {,2}. Em vez dos intervalos {0,}, {1,}, ou {0,1}, você pode usar os operadores *, +, ou ?, respectivamente.
Para corresponder a um padrão com base na frequência com que uma sequência de caracteres ocorre, coloque-a entre parênteses ((...)). Por exemplo, a(bc){1,5} corresponde a uma string que contém a, seguido por uma a cinco instâncias de bc.
Para corresponder a um dos vários padrões (|)
Para corresponder a um dos vários padrões - como this OR that- use o operador OR |. Por exemplo:
| Exemplo | Corresponde a |
|---|---|
hi|hello |
Uma cadeia de caracteres que contém hi ou hello |
(b|cd)ef |
Uma cadeia de caracteres que contém bef ou cdef |
(a|b)*c |
Uma cadeia de caracteres que tem uma sequência de alternância as e bs, terminando com c |
Corresponde a qualquer caractere (.)
Para representar qualquer caractere em um padrão a ser correspondido, use o operador curinga .. Por exemplo:
| Exemplo | Partidas |
|---|---|
a.[0-9] |
Uma cadeia de caracteres que contém a, seguido de qualquer caractere e um dígito |
^.{3}$ |
Qualquer cadeia de caracteres com exatamente três caracteres |
Corresponder à posição do caractere ([...])
Para corresponder a um padrão com base na posição de um caractere, use colchetes ([...]). Por exemplo:
| Exemplo | Correspondências |
|---|---|
[ab] |
Uma cadeia de caracteres que contém a ou b; equivalente a a|b |
[a-d] |
Uma cadeia de caracteres que contém uma letra minúscula |
^[a-zA-Z] |
Uma cadeia de caracteres que começa com qualquer letra, independentemente das maiúsculas e minúsculas |
[0-9]% |
Uma cadeia de caracteres que contém qualquer dígito único seguido de um sinal de porcentagem |
,[a-zA-Z0-9]$ |
Uma string que termina com uma vírgula seguida de qualquer caractere |
Observação: Todos os caracteres entre colchetes são considerados literalmente, e e não como operadores de regex. Por exemplo, [*\+?{}.] corresponde a qualquer um dos caracteres literais entre colchetes.
Corresponder caracteres indesejados ([^...])
Para corresponder a um padrão que não contenha caracteres, inicie a sequência com um operador ^ e coloque-a entre colchetes. Por exemplo, %[^a-zA-z]% corresponde a uma cadeia de caracteres com qualquer caractere que não seja letra entre dois sinais de porcentagem.