Regex

6 respostas
R

Olá galera,
confesso q vai ser a primeira vez q eu posto em fóruns…
gosto muito de ler as respostas, pois me ajudam muito só q agora eu q estou com problemas e não estou conseguindo resolver…
nem sei se deveria postar essa dúvida aki ou no iniciante, mas…

Vamos ao problema.
Eu faço uma procura em uma string afim de encontrar um número e uma letra juntos, como por exemplo :“2x”,“4y”…

tenho o seguinte código:

public String TratarTexto(String texto) { Pattern pattern = Pattern.compile("[0-9][a-z|A-Z]"); Matcher match = pattern.matcher(texto); if(match.find()) { texto = texto.substring(0, match.start() + 1) + "*" + texto.substring(match.start()+ 1); texto = TratarTexto(texto); } return texto; }

e conforme vai sendo executado a recursão, quando ele chega novamente no método match.start() é gerada a seguinte mensagem na excessao : “No match available”

Se alguém puder ajudar eu agradeço e muito…

Obs: O código em uma máquina com processador “normal” funciona elegantemente até com uma expressão mais complicada q estava escrita, e hj parou de funcionar num dual core…(Talvez tenha alguma a coisa a ver, sei lá)

6 Respostas

R

Galera correção,
se eu for pelo debug acontece o erro IllegalStateException(Throwable).(String) line: 158
porém se eu rodar a aplicação normalmente funciona como deveria…

Abraços e obrigado pela atenção

Andre_Fonseca

Oi

o código executou normalmente para mim aqui, uma das situações onde esta exceção acontece é quando vc tenta chamar o método e os parâmetros da requisição estão inválidos, por exemplo, em uma aplicação web vc tenta chamar o forward (request dispatcher) sendo que antes vc ja fez um flush da request

vc mudou alguma coisa na configuração do seu ambiente? que tipo de projeto é o seu??

abs

R

O meu projeto está por enquanto em Console.
E eu não mudei nada na configuração do ambiente, até pq eu to usando uma versão do eclipse q é portátil(Eclipse Platform Version: 3.4.2), não precisa instalar.
Acontece outras coisas também, como por exemplo: mando executar o projeto em debug, ai ele dá vários erros de q não encontra a classe q tento instanciar, ai ignoro e continuo apertando f5, depois de muito apertar ele volta pro código q deveria executar.

ah estou usando o eclipse.

A forma q encontrei para debugar foi colocar uma print no lugar q eu quero pra poder ver o q ele retorna…entende?

Valeu pela ajuda ai

Andre_Fonseca

Oi

se ele não está encontrando a classe então é bem provável que tenha algum erro na configuração do CLASSPATH

vc consegue criar uma classe de testes com apenas um metodo para fazer um sysout??

vc instalou como o java??

tem como vc pegar a msg que aparece em debug e postar aqui??

t+

R

O primeiro erro é o ClassLoader.findBootstrapClass(String) line: not available [native method]
depois : Launcher$ExtClassLoader(ClassLoader).findBootstrapClass0(String) line: not available
e fico apertando o f5/f6 até voltar a aparecer a classe com o código

classpath:.;C:\Arquivos de programas\Java\jre6\lib\ext\QTJava.zip

a aplicação está num diretório em e:…

eu consigo sim executar um programa fazendo um sysout…

Andre_Fonseca

rodrigocruz:
O primeiro erro é o ClassLoader.findBootstrapClass(String) line: not available [native method]
depois : Launcher$ExtClassLoader(ClassLoader).findBootstrapClass0(String) line: not available
e fico apertando o f5/f6 até voltar a aparecer a classe com o código

classpath:.;C:\Arquivos de programas\Java\jre6\lib\ext\QTJava.zip

a aplicação está num diretório em e:…

eu consigo sim executar um programa fazendo um sysout…

oi

esse QTJava.zip é para instalação do QuickTime né?? o arquivo existe no local mencionado na msg de erro?
como vc está adicionando as bibliotecas no CLASSPATH do Eclipse?
já verificou se existem bibliotecas de versões diferentes? quero dizer, duas cópias do .jar para versões diferentes

t+

Criado 17 de maio de 2009
Ultima resposta 18 de mai. de 2009
Respostas 6
Participantes 2