テキスト行から double を解析しようとしています。やりたいことをやっていると思っていた数行のコードを見つけました。ただし、負の double を解析しないことを発見しました (正として解析するだけです)。私は正規表現にまったく慣れていないので、少し圧倒されます。誰かが以下のコードを説明し、各部分の意味と、正と負の double の両方を解析するように変更する方法を教えてもらえないだろうか? 前もって感謝します!
double nextDouble;
Matcher matcher = Pattern.compile("(?!=\\d\\.\\d\\.)([\\d.]+)").matcher(line);
if (matcher.find()) nextDouble = Double.parseDouble(matcher.group(1)));
編集: これは行の例です。「104.44518717、34.09785265、103.39288764、0.09813121、0.00000000、-0.46612322、4.68576504」
-0.46612322 を 0.46612322 として解析します。