Primeira questão do capitulo 6 de livro da kathy:
import java.util.regex.*;
public class Regex2 {
public static void main(String[] args) {
Pattern p = Pattern.compile(args[0]);
Matcher m = p.matcher(args[1]);
boolean b = false;
while (b = m.find()) {
System.out.println(m.start()+m.group());
}
}
}
A a linha de comando:
java Regex "\d" ab34ef
Qual é o resultado?
A. 234
B. 334
C. 2334
D. 0123456
E. 01234456
F. 12334567
G. A compilação falha. <============[color=red] Resposta correta segundo o livro[/color]
e ai ficou minha duvida, por que eu fiz o programa aqui, ele compila nomal, só que na hora que eu rodo com esses argumentos ele lança uma acessão
[quote=jc.thalys]Primeira questão do capitulo 6 de livro da kathy:
import java.util.regex.*;
public class Regex2 {
public static void main(String[] args) {
Pattern p = Pattern.compile(args[0]);
Matcher m = p.matcher(args[1]);
boolean b = false;
while (b = m.find()) {
System.out.println(m.start()+m.group());
}
}
}
A a linha de comando:
java Regex "\d" ab34ef
Qual é o resultado?
A. 234
B. 334
C. 2334
D. 0123456
E. 01234456
F. 12334567
G. A compilação falha. <============[color=red] Resposta correta segundo o livro[/color]
e ai ficou minha duvida, por que eu fiz o programa aqui, ele compila nomal, só que na hora que eu rodo com esses argumentos ele lança uma acessão[/quote]
cara como colocaste os argumentos com o " " também??
desculpa esta exatamente assim no livro java Regex2 “\d*” ab34ef tirando as " " e o * funciona e imprimi 23 e 34 mais pra essa resposta do livro falando que não compila só queria ver isso… se realmente tava errado, o codigo esta exatamente desse forma
cara as Strings, Regex e o caracter de escape tem uns detalhes…
acho que pra dar certo teria que ter o escape assim: “\d*”
mas o código parece normal, então ele compilaria sim, o problema é quando passar a String regex…ai seria o problema… mas não vi erro nenhum pra não compilar…
p.s. não confie fielmente no livro da kathy e dê uma procurada nas erratas do livro.