REGEX, escapar >.< ponto

Olá amigos,

tô com uma duvida, como eu posso escapar o ponto .

em uma expressao regular ?

	Pattern pegaJava = Pattern.compile("\w+@");

gostaria q ele permitise o uso do ponto tbm, mas pra isso eu tenho que escapar ele, pelo menos eu acho :frowning:

Em geral, para escapar caracteres especiais numa regexp use a barra invertida ().

Marcio Kuchma

Isso funcionaria entao ?

em todo caso | = barrainvertida () por causa do sistema de validacao de post ;(
Pattern pegaJava = Pattern.compile("|w|.+@");

isso retorna erro
ps | == barrainvertida ()

Para escapar o ponto, vc deve colocar 2 barras invertidas!

EDITADO PORQUE A BARRA INVERTIDA ME F…

Para escapar o ponto “.” não vai funcionar, mas sim “\.”.

E para escapar a própria \ ???

a) “\”

b) “’\”

c) “\\”

A resposta certa é c)

Por isso que é meio chato de trabalhar com regular expressions dentro de Strings. Tem como escapar disso ??? Acho que não! Só se houvesse uma outra String onde a não fosse caracter de escape da String. Existe isso ???

Ou usar um outro caracter para escapar dentro das regex.

:?: :?: :?:

mas" ." nao funciona, prq ele vai escapar “.”

ainda nao consegui,

Saoj, nao entendi oq vc quiz dizer com isso

Que confusao esse negocio de barra invertida. Para aparecer uma barra invertida no forum, coloque duas barras invertidas. Ai vai rolar. :smiley:

Agora o esquema do ponto. Digamos que voce quer fazer uma regexp para identificar uma string no formato “www.site.com”. Isso fica: “www…+.com”. Ou seja, os dois pontos foram escapados e o “.+” representa “um ou mais caracteres”.

Vale lembrar que isso pegar “www.sub.site.com”. Ele busca a maior string possivel. Se quiser evitar isso, ao inves de “um ou mais caracter qualquer” precisamos de algo como “qualquer coisa, exceto ponto”: www.[^.]+.com.

Marcio Kuchma
(edited: aaaaaaaaaaaaaaaaaaaahh - o form de envio zica tudo as barras invertidas! :D)

Agora sim… :smiley:

O que percebi do comportamento do forum eh o seguinte:

  • Coloque duas barras invertidas para aparecer uma. Mesmo que na visualizacao do comentario antes do envio, PARECA que esta errado (o preview nao escapa as barras, a pagina de leitura escapa).

  • Quando for editar um topico, nao esqueca-se de “recolocar” as barras duplas, pois volta apenas uma. :smiley:

No JForum creio que isso nao va acontecer. :wink:

Marcio Kuchma