Motor Regex

Galera dando uma revisada em alguns assuntos me deparei com as seguintes classes Pattern, Matcher. E os seguintes métodos compile() e matcher() alguêm poderia me explicar oq eles fazem de fato?
O livro não deixa claro o que realmente eles fazem.

Segundo a documentação:

[quote]Matcher: An engine that performs match operations on a character sequence by interpreting a Pattern.
Pattern: A compiled representation of a regular expression. [/quote]

Dê uma olhada na documentação para mais detalhes.

Até mais!

compile(): Método estático que gera um Pattern.

Pattern p = Pattern.compile( "expressão regular" );

matcher(): Cria um Matcher para verificar se o pattern é seguido.

Matcher m = p.matcher("aaaaab");

matches(): se o padrão foi seguido na String ou não.

boolean b = m.matches();

Eh q nunca mexi na api da sun mas vou dar uma procurada nisso. De qualquer forma vlw.
:wink:

Mais uma coisa :smiley:

Na classe Pattern existe um método matches que recebe a expressão regular e a sequëncia de caracteres a ser verificada, sendo que este método já retorna verdadeiro ou falso.

boolean b = Pattern.matches( "expressão regular", "seqüência a ser testada" );

[quote=anderson.bonavides]Eh q nunca mexi na api da sun mas vou dar uma procurada nisso. De qualquer forma vlw.
;)[/quote]

É bom começar então :smiley:

david vlw pela força. Vou começar a olhar sim. Tenho certeza que vai ser importante para mim.
Muito obrigado e bom carnaval.
:wink:

Cara é o seguinte…

A classe Pattern é usada para armazenar uma representação de uma expressão regex.

A classe Matcher é usada para chamar o motor regex para realizar as operações de busca de correspondência.

Ok…vamos supor o seguinte código:

Pattern pat = Pattern.compile("guj"); // "guj" quer dizer a expressão a ser achada

Matcher mat = pat.matcher("guja forumguj gujdenovo outro guj guj guj 5456 guj "); // essa expressão doida aqui eh sua fonte de dados....

nesse caso o que é realizado… será procurado a expressão “guj” dentro dessa fonte "guja forumguj gujdenovo outro guj guj guj 5456 guj " quando ele encontrar ele te traz o índice da posição iniciando em 0…

por exemplo no ínicio da fonte de dados, tem um “guja” no caso o motor regex vai achar o “guj” e desconsiderar o “a”…

entendeu ai mano…
flw Hewerton

[quote=anderson.bonavides]david vlw pela força. Vou começar a olhar sim. Tenho certeza que vai ser importante para mim.
Muito obrigado e bom carnaval.
;)[/quote]

Disponha :smiley:

É importante saber navegar na documentação, pois muitas das suas dúvidas podem ser respondidas lá. Dê uma olhada na página de download do JDK que tem a documentação lá p/ ser baixada.

Bom carnaval p/ vc tbm :smiley:

Até mais!

[quote=Javabuntu]Cara é o seguinte…

A classe Pattern é usada para armazenar uma representação de uma expressão regex.

A classe Matcher é usada para chamar o motor regex para realizar as operações de busca de correspondência.

Ok…vamos supor o seguinte código:

Pattern pat = Pattern.compile("guj"); // "guj" quer dizer a expressão a ser achada

Matcher mat = pat.matcher("guja forumguj gujdenovo outro guj guj guj 5456 guj "); // essa expressão doida aqui eh sua fonte de dados....

nesse caso o que é realizado… será procurado a expressão “guj” dentro dessa fonte "guja forumguj gujdenovo outro guj guj guj 5456 guj " quando ele encontrar ele te traz o índice da posição iniciando em 0…

por exemplo no ínicio da fonte de dados, tem um “guja” no caso o motor regex vai achar o “guj” e desconsiderar o “a”…

entendeu ai mano…
flw Hewerton[/quote]

Entendi sim kra. Vlw pela força tbm.
:wink: