import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(.*?)(\\.|_?)(000\\d{0,})(.*)\\.jpg";
final String string = "test_canon_shot02.jpg \n"
+ "test_shot01-04.jpg \n"
+ "test_shot02-03.jpg \n"
+ "test_shot02-02.jpg \n"
+ "test_shot01-03.jpg \n"
+ "test_canon_shot03.jpg \n"
+ "test_shot01-02.jpg \n"
+ "test_shot02.jpg\n"
+ "test_canon_shot02.jpg\n"
+ "test_shot01.jpg \n"
+ "GameAssets_.00024.jpg \n"
+ "GameAssets_.00023.jpg \n"
+ "GameAssets_.00022.jpg \n"
+ "GameAssets_.00021.jpg \n"
+ "GameAssets_.00020.jpg \n"
+ "GameAssets_.00019.jpg \n"
+ "GameAssets_.00018.jpg \n"
+ "GameAssets_.00017.jpg \n"
+ "GameAssets_.00016.jpg \n"
+ "GameAssets_.00015.jpg \n"
+ "GameAssets_.00014.jpg \n"
+ "GameAssets_.00013.jpg \n"
+ "GameAssets_.00012.jpg \n"
+ "GameAssets_.00011.jpg \n"
+ "GameAssets_.00010.jpg \n"
+ "GameAssets_.00009.jpg \n"
+ "GameAssets_.00008.jpg \n"
+ "GameAssets_.00007.jpg \n"
+ "GameAssets_.00006.jpg \n"
+ "GameAssets_.00005.jpg \n"
+ "GameAssets_.00004.jpg \n"
+ "GameAssets_.00003.jpg \n"
+ "GameAssets_.00002.jpg \n"
+ "GameAssets_.00001.jpg \n"
+ "GameAssets_.00000.jpg \n"
+ "OrangeXmas2015_Print_A ct2.jpg \n"
+ "sh120_HF_V01-01.jpg \n"
+ "sh120_HF_V01-02.jpg \n"
+ "sh200_DMP_v04.jpg \n"
+ "sh120_HF_V04.jpg \n"
+ "sh120_HF_V03.jpg \n"
+ "sh120_HF_V02.jpg \n"
+ "blah_v02.jpg \n"
+ "blah_v01.jpg \n"
+ "blah_Capture0 4.jpg \n"
+ "blah_Capture03 .jpg \n"
+ "blah_Capture01. jpg \n"
+ "blah_Capture02.jpg \n"
+ "Wall_GraniteBlock_G rey_TC041813.jpg\n"
+ "Renders10_wire.jpg \n"
+ "Renders10.jpg \n"
+ "Renders09_wire.jpg \n"
+ "Renders09.jpg \n"
+ "Renders08_wire.jpg \n"
+ "Renders08.jpg \n"
+ "Renders07_wire.jpg \n"
+ "Renders07.jpg \n"
+ "Renders06_wire.jpg \n"
+ "Renders06.jpg \n"
+ "Renders05_wire.jpg \n"
+ "Renders05.jpg \n"
+ "Renders04_wire.jpg \n"
+ "Renders04.jpg \n"
+ "Renders03_wire.jpg \n"
+ "Renders03.jpg \n"
+ "Renders02_wire.jpg \n"
+ "Renders02.jpg \n"
+ "Renders01_wire.jpg \n"
+ "Renders01.jpg \n"
+ "archmodels58_057_carpinusbetulus_leaf_diffuse.jpg \n"
+ "archmodels58_042_bark_bump.jpg \n"
+ "archmodels58_023_leaf_diffuse.jpg \n"
+ "WINDY TECHNICZNE-reflect00.jpg \n"
+ "archmodels58_057_leaf_opacity.jpg \n"
+ "archmodels58_057_bark_reflect.jpg \n"
+ "archmodels58_057_bark_bump.jpg \n"
+ "blahC-00-oknaka.jpg \n"
+ "bed \n"
+ "debt \n"
+ "cab \n"
+ "00018.jpg \n"
+ "00017.jpg \n"
+ "00016.jpg \n"
+ "00015.jpg \n"
+ "00014.jpg \n"
+ "00013.jpg \n"
+ "00012.jpg \n"
+ "00011.jpg \n"
+ "00010.jpg \n"
+ "00009.jpg \n"
+ "00008.jpg \n"
+ "00007.jpg \n"
+ "00006.jpg \n"
+ "00005.jpg \n"
+ "00004.jpg \n"
+ "00003.jpg \n"
+ "00002.jpg \n"
+ "00001.jpg \n"
+ "00000.jpg ";
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