import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "[\\w\\+\\-]+\\.\\w+\\.(?<EPOCH>\\d+)(?<AV>\\.av)?\\.mat";
final String string = "AvAnalysisTill20Kepoch_onlyW.png\n"
+ "Program.30_07_2017_14_03_31.1.json\n"
+ "Program.30_07_2017_14_03_31.1.mat\n"
+ "Program.30_07_2017_14_03_31.10002.mat\n"
+ "Program.30_07_2017_14_03_31.10005.mat\n"
+ "Program.30_07_2017_14_03_31.10005.av.mat\n"
+ "Program.30_07_2017_14_03_31.10005.mat\n"
+ "Program.30_07_2017_14_03_31.10008.mat\n"
+ "Program.30_07_2017_14_03_31.10011.mat\n"
+ "Program.30_07_2017_14_03_31.10014.mat\n"
+ "Program.30_07_2017_14_03_31.10017.mat\n"
+ "Program.30_07_2017_14_03_31.1002.mat\n"
+ "Program.30_07_2017_14_03_31.10020.mat\n"
+ "Program.30_07_2017_14_03_31.10023.mat\n"
+ "Program.30_07_2017_14_03_31.10026.mat\n"
+ "Program.30_07_2017_14_03_31.10029.mat\n"
+ "Program.30_07_2017_14_03_31.10032.mat\n"
+ "Program.30_07_2017_14_03_31.10035.mat\n"
+ "Program.30_07_2017_14_03_31.10038.mat\n"
+ "Program.30_07_2017_14_03_31.10041.mat\n"
+ "Program.30_07_2017_14_03_31.10044.mat\n"
+ "Program.30_07_2017_14_03_31.10047.mat\n"
+ "Program.30_07_2017_14_03_31.1005.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19950.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19953.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19956.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19959.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19962.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19965.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19968.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19971.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19974.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19977.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19980.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19983.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19986.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19989.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19992.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19995.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.19998.mat\n"
+ "UBUNTU_30x300w30r3E-2.02_08_2017_12_09_36.20000.mat\n";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html