Forum Main Page > [Tutoriais] - Java em Geral

Introdução a Expressões Regulares com Java

Goto page 1

New Topic    Reply Message
  1. Comment Arrow




  1. Tadeu_Santos
    Offline
    Posts: 386

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44



    Esta página exibe apenas os comentários deste tutorial, para ler o artigo, clique aqui.






  1. kayser
    Offline
    Posts: 1

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Muito bom esse tutorial. Parabéns!

    Estou com o seguinte problema: preciso identificar o caracter (ponto) em uma expressão regular. Como faço?
    Como o ponto é um caracter especial, ele é entendido como "qualquer caracter"...


    _________________
    JavaFree.org




  1. roni_warken
    Offline
    Posts: 986

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Utiliza o caractere de escape "\" (contra-barra, sem as aspas). Veja no exemplo de como verificar um e-mail. E vale muito a pena verificar a página do Aurélio Marinho Jargas, que consta na bibliografia...
    _________________

    Que tal ajudar seus melhores amigos?

    Critics are like eunuchs in a harem; they know how it's done, they've seen it done every day, but they're unable to do it themselves. (Brendam Behan)




  1. Puri
    Offline
    Posts: 13

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Olá.

    Eu preciso fazer uma expressão regular para reconhecer o seguinte:

    @medico

    Mas não pode ser case sensitive.

    Alguma idéia de como fazê-lo?




  1. Anunciante

    Comment Arrow




  1. simu
    Offline
    Posts: 4908

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Oi,
    se realmente precisa da expressao regular:
    @[mM][eE][dD][iI][cC][oO]

    outra opcao seria usar o String.toLowerCase() antes de comparar com "@medico"
    []]]
    _________________
    Carlos Heuberger
    ____________________________________________________________________________
    meu protugues está uma m$#&%, nimguem intende...
    Por favor, não pergunte por ajuda (Java) em particular! Pergunte no fórum para todos levarem vantagem.
    a minha bola de cristal ainda está meio defeituosa. --- This posting is provided AS IS with no warranties and confers no rights.




  1. Puri
    Offline
    Posts: 13

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Muito obrigado cara!

    Funcionou perfeitamente!

    Valew!




  1. julivan
    Offline
    Posts: 6

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    [b][i]
    Alguém poderia me ajudar?

    Preciso de uma expressão regular para destrinchar uma string que será passada com três valores, separados apenas por ;.
    têm alguma regra especial para o ";"???
    o contexto é o seguinte, o usuário envia a opção desejada através do número e mais dois parâmetros que serão calculados em uma classe remota.

    por exemplo:

    public class TesteExpressoesRegulares {

    public static void main(String[] args) {

    String [] dados = null;

    String origem = "1;valor1;valor2";

    dados = origem.split("\\;");

    JOptionPane.showMessageDialog(null, dados[0]);



    }

    }




  1. anderson.wagner
    Offline
    Posts: 783

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    cara eu testei esse código e funcionou perfeitamente

    eu achei estranho aquela "\\", e sem ela funciona também.




  1. julivan
    Offline
    Posts: 6

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    tudo bem, mas eu gostaria de saber se na hora que eu enviar
    para a outra classe, seria a ServerSocket, ela irá conseguir distinguir os 3 parâmetros?




  1. anderson.wagner
    Offline
    Posts: 783

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    distinguir como ?

    se você estiver falando da ordem dos parâmetros

    não tem como, a outra classe vai receber três Strings. o que você pode fazer é convencionar uma ordem.




  1. julivan
    Offline
    Posts: 6

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    ótimo, como posso convencionar uma ordem então?

    at++
    valeu




  1. anderson.wagner
    Offline
    Posts: 783

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    crie os três parâmetros do método com nomes sugestivos

    se você usa alguma ferramenta tipo javadoc é possível detalhar melhor

    isso não impede que a ordem venha errada mais já é um começo.




  1. julivan
    Offline
    Posts: 6

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    valeu

    obrigado mesmo.

    //precisando, estamos ai.....




  1. RaphaelSantos
    Offline
    Posts: 18

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    VLw, entendi e funcionou normal, porem nao entendi uma coisa
    Pattern padrao = Pattern.compile(".+@.+\\.[a-z]+");
    alguem poderia explicar passo a passo cada detalhe do parametro? pq tem o sinal de + 3 vezes? o que é \\.? enfim.. cada aprte do parametro...




  1. Perfect Lion
    Offline
    Posts: 23

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Fala galera eu estou com um probleminha na minha ER

    eu preciso verificar quando eu tenho na string o seguinte...

    [bloco de comando]

    preciso recuperar o nome dentro do [] no php eu faria assim

    \[(.*?)\] sendo que o \[ escapa o [ mais no java num ta rolando isso alguem pode me ajudar?
    _________________
    Mim aqui tbm !!! :P




  1. simu
    Offline
    Posts: 4908

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Näo está rolando no java, significa o que?
    - Erro de compilacäo?
    - Exception durante a execucäo?
    - Simplesmente näo faz o que voce quer?
    - Näo achou a documentacäo?
    - ???

    Usando a minha bola de cristal :--) vejo que esse problema ou semelhante já deve ter sido respondido no Javafree.
    Voce leu documentacäo do java.util.regex.Pattern? principalmente a parte "Backslashes, escapes, and quoting"

    Leitura adicional: Como fazer perguntas
    []]]

    _________________
    Carlos Heuberger
    ____________________________________________________________________________
    meu protugues está uma m$#&%, nimguem intende...
    Por favor, não pergunte por ajuda (Java) em particular! Pergunte no fórum para todos levarem vantagem.
    a minha bola de cristal ainda está meio defeituosa. --- This posting is provided AS IS with no warranties and confers no rights.




  1. Wrapper
    Offline
    Posts: 7

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Um adentro. A Revista Mundo java, nº 24 saiu uma reportagem sobre o assun to. Como meu primeiro contato, gostei bastante.




  1. Sofiarw4
    Offline
    Posts: 7

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Eu não consigo.. me digam o que estou fazendo mal...


    Pattern p = Pattern.compile("<td>(\\w+)</td>");


    eu quero que reconheça tambem os pontos!

    AjUdEm pf!!





  1. Junhu
    Offline
    Posts: 79

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Caros colegas , só uma coisa se eu trouxer de um DB a validação que o campo tem que ter com ER, tende a funcionar posso comparar no java o que vem de um rs/col.
    Ah! e a classe a ser usada é esta tal de Pattern.
    Muito Obrigado




  1. Relacionados




  1. Anunciante





New Topic    Reply Message     Forum Main Page -> [Tutoriais] - Java em Geral


Goto page 1