Boa tarde pessoal.
Já deu uma boa olhada e não encontrei um explicação que fosse exatamente o que eu procuro.
a situação é a seguinte tenho a uma string conforme a baixo:
133,False,1,1,NT EMF 1.008,True,True,"http://portal/SiteDirectory/SAR/_layouts/PrintIssueTracking.aspx?List={ca506e9b-f61a-4d87-abf0-b243cc477dad}&ID=6816",Lexmark X264dn,False,363300,False,\\192.168.12.51,paula,False,2970,False,9,,False,7,True,Lexmark X264 - SAR,1200,1200,False,LMACJL4C,1,1593,False,Printed,14/5/2012 07:50:46,paula,,
Quero utilizar somente esta parte :
"http://portal/SiteDirectory/SAR/_layouts/PrintIssueTracking.aspx?List={ca506e9b-f61a-4d87-abf0-b243cc477dad}&ID=6816"
Para verificar se tem virgula e ponto e virgula.
Porem como voces podem perceber tem chaves na string, entao tive que colocar no “compile” (\x3D*)(\x7B*)(\x7D*)
Nem sei se desta forma esta certo, porem entrou no while, ou seja encontrou a expressao.
while ( bf.ready() ) {
linha = bf.readLine();
Pattern caract = Pattern.compile("\".*(\\x3D*)(\\x7B*)(\\x7D*)\"");
Matcher m = caract.matcher(linha);
while (m.find()) {
System.out.println("group "+m.group().toString());
linha = linha.replaceAll(m.group(), m.group().replaceAll(",", "")); //linha 53 at br.printevocount.writers.UsingCsv.readingCsv(UsingCsv.java:53)
linha = linha.replaceAll(m.group(), m.group().replaceAll(";", ""));
System.out.println("linha ini "+linha);
}
Esta dando o seguinte erro:
run:
group "http://portalclemar/SiteDirectory/SAR/_layouts/PrintIssueTracking.aspx?List{ca506e9b-f61a-4d87-abf0-b243cc477dad}&ID=6816"
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 75
"http://portal/SiteDirectory/SAR/_layouts/PrintIssueTracking.aspx?List{ca506e9b-f61a-4d87-abf0-b243cc477dad}&ID=6816"
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.closure(Pattern.java:2775)
at java.util.regex.Pattern.sequence(Pattern.java:1889)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.lang.String.replaceAll(String.java:2189)
at br.printevocount.writers.UsingCsv.readingCsv(UsingCsv.java:53)
at br.printevocount.writers.UsingCsv.main(UsingCsv.java:129)
Java Result: 1
Não sei muito de expressão regular por isso estou com estes problemas.
Agradeço qualquer ajuda.