次の文字列の2つの数値をどのように解析しますか?
String fName = "Run_1_vs_2_pw_optimal_mapping.txt";
私はこのように試しましたが、機能しません:
Pattern filePatt = Pattern.compile("Run_(\\d+)_vs_(\\d+)_", Pattern.CASE_INSENSITIVE);
Matcher scanner = this.filePatt.matcher(fName);
while (scanner.find()) {
int groupSize = scanner.groupCount();
if (groupSize == 2) {
firstRun = Integer.parseInt(scanner.group(0));
secondRun = Integer.parseInt(scanner.group(1));
}
break;
}
ただし、scanner.group(0)はを返すため、これは機能しませんRun_1_vs_2
。しかし、なぜ?