O Regex (acrônimo do expressão regular) é uma sequência de personagens que nos ajudam a pesquisar e manipular as cordas. Expressões regulares pode ser usado em todas as linguagens de programação, como java, c ++, etc. Para aproveitar as funcionalidades do regex, Java fornece um pacote interno Java.util.regex que contém três classes Padrão, Matcher, e PatternSyntaxException.
Este artigo fornecerá uma visão geral abrangente de como escrever Regex em Java e, para isso, temos que entender os seguintes conceitos:
Então vamos começar!
Java.util.pacote regex
É um pacote de construção que inclui três classes: a Padrão classe para definir um padrão que será usado na pesquisa, um Matcher classe que pode ser usada para procurar um padrão e um PatternSyntaxException classe para indicar um erro/exceção de sintaxe em um regex padrão.
Criação de padrões e correspondência de padrões em regex
Temos que invocar o compilar() Método do Padrão classe para criar um padrão. O método compilem () retornará um padrão que será interpretado pelo Matcher () Método para executar a operação de correspondência sobre a string/sequência de caracteres.
Antes de seguir em direção a como escrever um regex em Java primeiro, precisamos entender algumas bandeiras, metacaracters e quantificadores importantes que podem ser úteis ao escrever um regex.
Padrões em regex
A classe de padrões utiliza seu compilar() Método para criar um padrão e pode levar dois parâmetros, um para o padrão a ser pesquisado e o outro é opcional que é usado para especificar uma sinalização.
Enquanto o compilar() O método leva um padrão no primeiro parâmetro; portanto, alguns padrões usados com frequência são fornecidos abaixo:
Bandeiras em expressões regulares
As bandeiras podem ser passadas como o segundo parâmetro para o método compile () e é usado para especificar o comportamento de pesquisa do regex. Por exemplo, case_insenstive é uma bandeira que determina: procure o padrão, independentemente da sensibilidade do caso I.e. maiúsculas ou minúsculas.
Metacharacters em Regex
O Metacharacters ajude -nos a definir os critérios de busca para o regex e estes Metacharacters tem algum significado especial. Alguns metacaracters mais usados com mais frequência estão listados na tabela abaixo:
Metacharacters | Descrição |
\ d | encontra um dígito |
\ b | encontra uma partida no início ou no final da palavra |
$ | encontra uma partida no final da string |
^ | encontra a partida no início da string |
\ s | Usado para pesquisar os espaços brancos |
| | Encontra uma correspondência de várias opções que são separadas com '|'. |
. | Usado para combinar com um único personagem |
Quantificadores em Regex
Como o próprio nome sugere, os quantificadores especificam a quantidade i.e. Quantas vezes um número ocorre em um padrão, alguns quantificadores usados com frequência são fornecidos na tabela a seguir:
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 |
Como escrever regex em java
A classe de padrões será usada para criar um padrão e, para isso, temos que invocar seu “Public Static Compile ()” método, depois especificaremos o padrão dentro do compilar() método.
Em Java, um regex pode ser escrito de várias maneiras, conforme listado abaixo:
Primeiro método
No trecho abaixo, em primeiro lugar, criamos o objeto da classe de padrões e especificamos o padrão dentro de seu método de compilação. Utilizamos um Metacharacter ““.” que diz que a sequência consiste em duas letras onde a primeira letra pode ser tudo menos a segunda letra deve ser "eu":
classe pública writeregexexempleCriamos o objeto da classe Matcher que interpretará o padrão e executará as operações correspondentes na sequência de entrada. Em seguida, utilizamos o método Matches () que retornará um valor booleano, se a correspondência for encontrada, ele retornará "True" else False.
A saída mostra verdadeira, o que significa que a correspondência desejada foi encontrada com sucesso.
Segundo método
O snippet abaixo-dado mostra outra maneira de escrever o Regex em Java:
Bol booleano = padrão.compilar(".eu").Matcher ("oi").partidas();Desta vez, utilizamos o compile (), Matcher (), e partidas() Métodos de uma só vez.
A saída mostra que nosso programa está funcionando corretamente.
Terceiro método
Outra maneira de escrever um regex é que podemos utilizar diretamente o partidas() Método da classe Matcher com a classe de padrões e dentro dos parênteses, especificaremos o “padrão”E a string com a qual queremos combinar.
Bol booleano = padrão.partidas(".eu Oi");O código completo e a respectiva saída são mostrados no seguinte snippet:
A saída autentica o funcionamento do programa acima.
Conclusão
O regex é uma sequência de caracteres que define os padrões de pesquisa que podem ser usados para pesquisar, manipular e editar uma string. O regex pode ser escrito de várias maneiras, a abordagem para escrever um regex pode ser diferente, no entanto, temos que utilizar o compilar() método de classe de padrões e partidas() Método de classe Matcher em cada abordagem. Este artigo apresenta uma visão geral detalhada de como escrever um regex em Java e, para um melhor entendimento, explica todos os aspectos necessários de expressões regulares, como quantificadores, metacaracters, e assim por diante.