以下の正規表現が失敗する理由を理解しようとしています。の両側で値の範囲を取得しようとしています:
が、コードは常にelse
. range
このようなコマンドライン引数から来ていjava -jar myprogram.jar -R 50:100
ます。
に文字列を渡してmatches()
整数を探しているため、失敗していますか?
これが私のコードです:
private int[] parseRangeResults(String range) {
int[] rangeResults = new int[2];
if(range.matches("\\d+:\\d+")) {
String[] numbers = range.split(":")
rangeResults[0] = Integer.parseInt(numbers[0]);
rangeResults[1] = Integer.parseInt(numbers[1]);
} else {
throw new Exception("Invalid Syntax.");
}
return rangeResults;
}