Expressão regular

Definição - o que significa expressão regular?

Uma expressão regular é um método usado na programação para correspondência de padrões. As expressões regulares fornecem um meio flexível e conciso para combinar strings de texto. Por exemplo, uma expressão regular pode ser usada para pesquisar grandes volumes de texto e alterar todas as ocorrências de "gato" para "cachorro".

Expressões regulares são usadas para sistemas de realce de sintaxe, validação de dados e em motores de busca como o Google, para tentar determinar uma correspondência algorítmica para a consulta que um usuário está fazendo.

Expressões regulares também são conhecidas em formato abreviado como regex ou regexp.

Definirtec explica a expressão regular

Utilitários, editores de texto e linguagens de programação usam expressões regulares para manipular e pesquisar padrões de texto. Enquanto algumas linguagens integram expressões regulares no núcleo da sintaxe da linguagem, como TCL, Awk, PERL e RUBY, outras usam expressões regulares por meio de bibliotecas, como Java, C ++ e C. Isso significa que existem diferenças de implementação, portanto, uma expressão regular que funciona bem com um aplicativo pode ou não funcionar com outro. Existem diferenças sutis.

As expressões regulares podem ser incrivelmente poderosas. Essencialmente, se o padrão pode ser definido, uma expressão regular pode ser criada. Um padrão simples pode ser algo tão simples como encontrar todas as situações em que uma frase termina em "aquilo" e é substituída por "qual". O padrão pode ficar mais complexo ao fazer a mesma substituição, mas apenas na 3ª e 5ª ocorrências de uma correspondência. Ou pode ficar ainda mais complicado usando diferentes conjuntos de caracteres correspondentes, dependendo da frequência e localização dos caracteres correspondentes anteriores.

Os três componentes principais de uma expressão regular são âncoras que são usadas para especificar a posição de um padrão em relação a uma linha de texto, conjuntos de caracteres que correspondem a um ou mais caracteres em uma única posição e modificadores que especificam o número de vezes que o o conjunto de caracteres anterior é repetido.

As operações que ajudam na construção de expressões regulares são:

  • Quantificação: os quantificadores determinam a frequência com que o elemento anterior pode ocorrer.
  • Agrupamento: os operadores podem ter seu escopo e precedência especificados usando parênteses.
  • Condições booleanas: uma condição OR ou AND pode ser definida para operadores e grupos.

As expressões regulares usam algoritmos como Automação Finita Determinística (DFA) e Automação Finita Não Determinística (NFA) para corresponder a uma string. Em um NFA, para cada par de estado e símbolo de entrada, existem vários próximos estados possíveis, enquanto um DFA aceita uma sequência finita de símbolos.