Expressões regulares em Java | Explicado

Expressões regulares em Java | Explicado
Uma expressão regular (também conhecida como regex) fornece uma API que define os padrões para pesquisar ou manipular as strings. Em Java, um pacote predefinido Java.util.regex pode ser usado para trabalhar com as expressões regulares. Consiste em três classes: um Padrão classe para definir um padrão, um Matcher classe para pesquisar um padrão e um PatternSyntaxException classe para indicar um erro de sintaxe em um regex padrão.

Este artigo apresenta um entendimento completo dos seguintes conceitos:

  • Criação de padrões usando o método de compilação
  • Correspondência de padrões usando o método Matcher
  • O que são bandeiras em expressões regulares
  • Quais são os padrões regulares de expressão
  • O que são metacaracters em expressões regulares
  • O que são quantificadores em expressões regulares
  • Implementação prática de expressões regulares em Java

Então vamos começar!

Criação de padrões usando o método compilador ()

Para criar um padrão, primeiro temos que invocar o compilar() Método do Padrão classe e, como resultado, retornará um objeto de padrão. O compilar() O método pode levar dois parâmetros: o primeiro para o padrão a ser pesquisado e o segundo é opcional e pode ser usado para especificar uma bandeira.

Quais são os padrões em expressões regulares

No primeiro parâmetro, o compilar() o método especifica um padrão a ser pesquisado. Alguns padrões de pesquisa comumente usados ​​estão listados abaixo:

  1. [-] Aqui “-” representa diferentes personagens, e todo o padrão eu.e. [-] descreve que encontram um personagem entre as opções fornecidas dentro dos colchetes.
  2. [^-] descreve encontrar um personagem que não faz parte do padrão fornecido.
  3. [0-9], descreve encontrar um número entre 0 e 9.

O que são bandeiras em expressões regulares

Os sinalizadores são parâmetros opcionais para as expressões regulares e podem ser usados ​​para especificar seu comportamento de pesquisa (expressões regulares). Por exemplo, case_insenstive pode ser usado para realizar a pesquisa, independentemente do caso da letra, eu.e. maiúsculas ou minúsculas.

MATERIAÇÃO DE PADRÃO usando o método Matcha ()

O padrão devolvido pelo compilar() o método será interpretado pelo Matcher () método para executar a operação de correspondência sobre a string.

O que são metacaracters em expressões regulares

Java fornece vários Metacharacters que têm algum significado especial e são úteis para definir os critérios de pesquisa:

Metacharacters Descrição
\ d Usado para encontrar um dígito
\ b Usado para encontrar uma partida no início ou no final da palavra
$ Usado para encontrar a partida no final da string
^ Usado para encontrar a partida no início da string
\ s Procure os espaços brancos
| Procure uma correspondência de várias opções que são separadas com '|' sinal
. Usado para corresponder a uma única instância de um personagem

O que são quantificadores em expressões regulares

O quantificador especifica o número de ocorrências a serem correspondentes, alguns quantificadores comumente usados ​​estão listados abaixo:

Quantificadores Descrição
A+ A ocorre pelo menos uma vez
A* A ocorre zero ou mais tempo
A? A ocorre zero tempo ou único
Um A ocorre n número de vezes
Um, A ocorre n vezes ou mais de n vezes
A x, y A ocorre entre o intervalo fornecido i.e. A ocorre pelo menos x vezes, mas menos que Y vezes

Implementação prática de expressões regulares em Java

Vamos implementar os conceitos acima mencionados em um cenário prático para uma compreensão profunda.

Exemplo

No trecho de código abaixo, procuramos a palavra "Linuxhint" em uma frase usando uma expressão regular:

publicClassRegexPexample
publicstaticVoidMain (String [] args)
Patter Pat = Padrão.compilar ("linuxhint", padrão.Case_insensitive);
Matcher Match = Pat.Matcher ("Bem -vindo ao Linuxhint.com ");
booleano encontrado = correspondência.encontrar();
se achado)
Sistema.fora.println ("Match encontrado com sucesso");
outro
Sistema.fora.println ("Match não encontrado");


Inicialmente, criamos o objeto do Padrão Classe, então especificamos uma palavra que queremos pesquisar e um sinalizador "case_insensitive" dentro do compilar() método. Em seguida, utilizamos o Matcher () método para executar a operação de correspondência sobre a string.

A saída autentica que as correspondências são encontradas com sucesso, independentemente da sensibilidade ao caso.

Conclusão

As expressões regulares nada mais são do que uma sequência de caracteres que define os padrões de pesquisa. Em Java, expressões regulares são usadas para pesquisar, editar e manipular uma corda. Para criar um padrão, primeiro temos que invocar o compilar() Método do Padrão classe e, consequentemente, retornará um padrão que será interpretado pelo Matcher () método para executar a operação de correspondência sobre a string. Além disso, Java fornece vários Metacharacters que são úteis para definir os critérios de busca e Quantificadores Para especificar o número de ocorrências a serem correspondentes.