Ir para o conteúdo

Expressões Regulares

Visão Geral

Uma Expressão Regular é uma notação, ou especificamente, uma sequência de símbolos e caracteres que expressam uma string ou padrão. Elas são geralmente usadas na área de SQL Empresarial de App Builder para validar a entrada do usuário ou restringir/encontrar um padrão específico dentro de um grande pedaço de texto.

Sempre que LIKE for usado em uma cláusula where com um curinga (%), você está usando Expressões Regulares. Você pode estar familiarizado com a declaração WHERE MyField LIKE 'ABCD%', mas você também pode usar colchetes para pesquisar um intervalo WHERE MyField LIKE '[A-B][CD][A-Z][A-Z]%'que retornará qualquer registro com uma combinação de A ou B como o primeiro caractere, C ou D como o segundo, quaisquer caracteres alfabéticos nos próximos dois caracteres e qualquer outra coisa no final.

A mesma estrutura Reg Ex se aplica a números. Se você estiver filtrando em um intervalo de valores, digamos 900-919, você pode filtrar WHERE MyField IN ('900', '901', '902'... etc)mas é mais limpo de usar WHERE MyField LIKE '9[0-1][0-9]'(lidando com campos de string aqui, não numéricos). você pode encontrar números de telefone que se encaixam no padrão WHERE MyField LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'

Abaixo está um exemplo similar ao exemplo acima onde, neste caso, a expressão está validando se os registros em FieldValue contêm as strings de caracteres 900S, 901S, 902S, ..., 919S.

whereclause.png

Você também pode usar o ^ caractere que representa NÃO na string WHERE MyField LIKE '[^0-9]%'que retornará registros com um caractere não numérico como primeiro caractere, seguido por qualquer coisa. WHERE MyField LIKE '[A-Z][^A-Z]'retornará registros com dois caracteres, o primeiro sendo alfabético e o segundo não alfabético.

Nota

App Builder não suporta o caractere '+' ao usar LIKE para Regex. Se você estiver procurando usar esse caractere, você pode fazer isso usando o plugin de validação Regex.

Há uma TONELADA de outras ferramentas poderosas dentro das Expressões Regulares que podem ser usadas com App Builder- os mencionados neste artigo são alguns dos mais comuns usados. Aqui está um link de tutorial se você quiser aprender mais: https://www.mssqltips.com/sqlservertutorial/9108/precise-alphabetic-filtering-with-regular-expressions-for-tsql/