私はこの正規表現を書きました:
String REGEX = "^\\s+something\\s+(not\\s+)?else\\s+((\\d+|\\d+-\\d+),\\s+)*(\\d+|\\d+-\\d+)$";
これが私の主な方法です:
public static void main(String... args) {
Matcher matcher = PATTERN.matcher(" something else 1, 3, 4, 5-7");
if (matcher.matches()) {
for (int index = 0; index <= matcher.groupCount(); index++) {
System.out.println(index + ": " + matcher.group(index));
}
}
}
ここに私の出力があります:
0: match cos 1, 3, 4, 5-7
1: null
2: 4,
3: 4
4: 5-7
キャプチャされていない1
ようです。3
(出力4
と5-7
は問題ありません。) それらをキャプチャできるように正規表現を修正するにはどうすればよいですか (最後にコンマなしでキャプチャできます)。