Como escrever regex em java

Como escrever regex em java

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:

  • Java.util.pacote regex
  • Criação de padrões e correspondência de padrões em regex
  • Bandeiras e padrões em regex
  • Metacharacters em Regex
  • Quantificadores em Regex
  • Como escrever regex em java

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:

  1. [-] Dentro dos colchetes, o "-" representa vários caracteres, enquanto [-] representa um padrão que define que encontre/pesquise um personagem entre as opções especificadas dentro dos colchetes.
  2. [ ^-] Aqui o sinal ^ não representa, o que significa que, se especificarmos um sinal de um padrão, isso significa encontrar um personagem, exceto as opções especificadas dentro dos colchetes.
  3. [0-9], representa encontrar um número entre 0 e 9.

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 writeregexexemple
publicClassWriteRegexExxample
publicstaticVoidMain (String args [])
Padrão ptrn = padrão.compilar(".eu");
Matther mat = ptrn.Matcher ("oi");
booleanbol = Mat.partidas();
Sistema.fora.println (BOL);

Criamos 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();
Sistema.fora.println (BOL);

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");
Sistema.fora.println (BOL);

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.