/ / Retenção de conteúdo do delimitador do Java Scanner - java, regex

Retendo o conteúdo do Delimitador do Scanner Java - java, regex

Peço desculpas se esta é uma pergunta boba, já respondida. Sinto-me intimidado pelo RegEx e esta é a primeira vez que sinto que quase o tenho funcionando do jeito que quero.

Estou analisando uma string usando um Scanner e o seguinte delimitador:

sc.useDelimiter(",\p{Alpha}");

Pensei nisso e tenho certeza de que só assim posso garantir que o Scanner delimite apenas as vírgulas que desejo.

O problema é que estou perdendo o conteúdo de p{Alpha} que eu realmente prefiro manter. Manter a vírgula também seria bom, pois é fácil de se livrar.

. . . length_range={7.574499506969005,103667.75776468226},height_median=44756.6002109626 . . .

onde eu delimito apenas na vírgula fora das chaves, mantendo height_median=447...

Como eu faria isso? Agradeço antecipadamente por sua ajuda.

Respostas:

4 para resposta № 1

Você poderia usar olhe para frente para conseguir isso, verifique se há um caractere alfa que não fará parte da correspondência:

sc.useDelimiter(",(?=\p{Alpha})");