Expressão regular

estou querendo capturar o seguinte grupo de caracteres:

um ponto “.” seguido de 6 números

eu queria saber qual a sequencia de passos básicas e a expressão regular que usaria em Java, tipo: “\p{Punct}{1}\d{6}”, se puderem ajudar serei grato.

ponto é um caracter especial, portanto deve ser precedido de um “”.

Dígito é algo de 0 a 9 (a menos que você queira os dígitos em árabe, chinês etc.). No Javadoc da classe java.util.regexp.Pattern aparece como “\d”, ou seja, em uma literal string você deve especificar como “\d”.

A string como você deve especificar em Java é:

“\.\d{6}”

muito obrigado, essas duas barras estava atrapalhando tudo, vlw.

acho que isso eliminas as duvidas, so falta utilizar a string capturada, ou vetor se for possivél, mas isso eu vou consultar.

aumentar o problema, consultei na net e so achei que o pessoal usa expressão regular só para verificar se uma string comtém ou não, ou seja booleano, o meu caso é diferente, eu quero além de verificar se tem esse número ou não é utilizar esse número. RESUMINDO: eu quero utilizar um expressão para extrair uma string e não para verificar se possuiu ou não.

Expressões regulares servem também para extrair pedaços.

Por exemplo, digamos que você tenha a expressão regular
“\(\d{2}\)\d{4}-\d{4}”

que serve para pegar o número de telefone “(99)1234-5678”.

Você quer pegar os dados “99”, “1234” e “5678” separados.

Na documentação esses dados são “grupos” (groups). Você precisa separá-los com “()” na expressão regular, que deve ser modificada para:
“\(color=red[/color]\)color=red[/color]-color=red[/color]

Veja a documentação da classe java.util.regex.Matcher.

Cara brigado pela ajuda, acho que sou meio ruim para essa questão auto-ditata, pois não entendi a questão da captura, o meu problema é o seguinte:

após ler uma linha de texto em um arquivo quero descobrir se ela possui um ponto seguido de 6 números (já foi resolvido), então logo após quero passar esses 6 números para uma String.

o problema, não achei um método na classe Matcher que faça isso, o método toString dessa classe traz a informação sobre o matcher inteiro, mesmo após definir os grupos que disse na resposta anterior eu não sei o que fazer, como extrair esses números de match.

import java.util.regex.*;

class TesteRegexp {
    public static void main(String[] args) {
        String linha = "abacaxi pepino jiló .123567 12345. esp1234 123478 anfótero";
        Pattern pattern = Pattern.compile ("\\.(\\d{6})");
        Matcher matcher = pattern.matcher (linha);
        if (matcher.find()) {
            System.out.println (matcher.group (1)); // deve imprimir "123567" 
        }
    }
}

A propósito: toString não é um método de propósito geral na maior parte das APIs do Java. Ele serve mais para “depuração”.

nossa perfeito agora, desculpa a chatisse ai, mas o desespera ta me matando aqui na monografia do meu curso, brigadão.