Задачу решил таким способом: matches("-?\\d+(\\.\\d+)?")) - Решение нагуглил, но почему так, не могу понять Но возник вопрос, почему именно эти символы дают правильную логику, и собственно, где можно больше о этом узнать, а именно про regex и с чем его едят ?