Problema com expressões regulares

Dado o seguinte texto: “A casa &branca fica na esquina da rua da casa &amarela!”

Como eu monto uma expressão regular que me traga todas as palavras que iniciam com “&”?

Eu usei a seguinte regex:

"(&[A-Za-z]+)"

Mas ela só me retorna “&branca”.

Eu preciso que me retorne “&branca” e “&amarela”. Dessa forma eu capturo os tokens utilizando Matcher.group(int group) dentro de um for limitado por Matcher.countGroups().

Bom, só que eu não estou conseguindo implementar essa expressão para captururar todas as ocorrências em uma linha.

Como é que eu faço isso?

olá Psycopata,

tirando o fato de eu ter usado while a sua regex funcionou normalmente…

[code]String texto = “A casa &branca fica na esquina da rua da casa &amarela!” ;
String regex = “(&[A-Za-z]+)”;

Pattern compile = Pattern.compile( regex );
Matcher matcher = compile.matcher( texto );

while ( matcher.find() ) {
System.out.println( matcher.group() );
}[/code]

Pode colocar o seu for?

[]s

Pior que funcionou mesmo.

O erro não estava na regex que eu escrevi, e sim na forma que eu estava capturando os grupos.

Cara, valeu mesmo, brigadão.