3
私はJava正規表現を初めて使用しています。私は答えを見つけることができませんでした。特定のパターンがいくつかの文字の前にあるかどうかを確認する方法?
これは私の正規表現です:-?\\d*\\.?\\d+(?!i)
と私はそれをではなく、例えば、私は、このメソッドは0.0を返したいが、それは55.0を返し続ける
private static double regexMatcher(String s, String regex) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(s.replaceAll("\\s+", ""));
if (!matcher.find()) {
return 0;
}
String found = matcher.group();
return Double.parseDouble(matcher.group());
}
:String 551i
は、これが私の方法です。
私は間違っていますか?
もう1つ手伝ってもらえますか?なぜこの正規表現は '-0.501'を** - 0 **として認識しますか?そしてどうすればそれをしないのですか? –
正規表現は、期待通りの数字に一致します(https://regex101.com/r/8g0vAL/1)。私は[reproできません](http://ideone.com/s7Lto0)。 –
申し訳ありませんが、私は '-0.501i'を** - 0 **と指定しましたか?私の正規表現では、迅速な解決策はありますか? –