Ola pessoal do forum…
Gostaria de saber se alguem poderia me explicar o comando matches…
Mas eu precisava de uma explicação super completa pra conseguir entender muito bem esse comando…
Valeu!!! 
Matches
6 Respostas
VALEU thingol!!!
Cara vc ajudou muito!!!
Muito obrigado mesmo!!!
Te mais pessoal do forum… 
Olá pessoal do forum…
Olha eu aqui outra vez… :lol:
É o seguinte… Li o ótimo material que o colega thingol me passou… consigui entender um pouco melhor como funciona o matches e tudo mais… mas agora estou com problemas para montar as Expressões Regulares…
No exemplo:
String lol = "3.3.5.3";
if(lol.matches("^[.]{2,}$")){
javax.swing.JOptionPane.showMessageDialog(null, "O PONTO ESTA SE REPETINDO MAIS DE UMA VEZ");
}else{
boolean com = true;
javax.swing.JOptionPane.showMessageDialog(null, "O PONTO SÓ APARECE UMA VEZ");
}
Tipo… Eu queria que o matches contasse quantos pontos tem dentro de “lol”… e caso haja mais de um ponto… que fosse impressa a mensagem “O PONTO ESTA SE REPETINDO MAIS DE UMA VEZ”…
É possivel fazer isso seguindo o esquema acima???
Já tentei varios tipos de ERs mas ainda nao cheguei a um resultado satisfatorio… :?
Valew pessoal
Olá pessoal do forum…
Olha eu aqui outra vez… :lol:
É o seguinte… Li o ótimo material que o colega thingol me passou… consigui entender um pouco melhor como funciona o matches e tudo mais… mas agora estou com problemas para montar as Expressões Regulares…
No exemplo:
String lol = "3.3.5.3";
if(lol.matches("^[.]{2,}$")){
javax.swing.JOptionPane.showMessageDialog(null, "O PONTO ESTA SE REPETINDO MAIS DE UMA VEZ");
}else{
boolean com = true;
javax.swing.JOptionPane.showMessageDialog(null, "O PONTO SÓ APARECE UMA VEZ");
}
Tipo… Eu queria que o matches contasse quantos pontos tem dentro de “lol”… e caso haja mais de um ponto… que fosse impressa a mensagem “O PONTO ESTA SE REPETINDO MAIS DE UMA VEZ”…
É possivel fazer isso seguindo o esquema acima???
Já tentei varios tipos de ERs mas ainda nao cheguei a um resultado satisfatorio… :?
Valew pessoal
Expressões regulares são péssimas para fazer contagens e bater parênteses.
Não recomendo o uso de expressões regulares nesse caso.
Entretanto você pode criar uma expressão regular bastante complicada para fazer isso. (ela tem de bater com uma string que tem exatamente um ponto).
Vamos dividir em casos:
Caso 1 - A string começa com “.” e o resto dos caracteres não pode ser ponto:
“^[.][^.]*$”
Caso 2 - Todos os caracteres não são ponto, exceto o último:
“^[^.]*[.]$”
Caso 3 - Um caracter no meio da string é ponto:
“^[^.][.][^.]$”
Note que a expressão do caso 3 engloba o caso 2 e o 1 (por quê?).
Teste e veja se está OK.
Se você quisesse ver se tem exatamente 3 pontos (por exemplo, para um endereço IP) a expressão seria bem complicadinha, pelo que você já deve ter entendido.
Valeu cara!!! De mais!!! 
Você ajudou muito…
Mais uma vez… Muito obrigado!!! 
T+