import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?!\\d\\d?[ex]\\d\\d?)(?:\\[(?:[-\\w\\s]+)*\\] )?(.*?)[-_. ]?(?:[\\{\\(\\[]?(?:dvdrip|[-._\\b]ita|[-._\\b]eng|xvid| cd\\d|dvdscr|\\w{1,5}rip|divx|\\d+p|\\d{4}).*?)?\\.([\\w]{2,3})$";
final String string = "22. Non Puoi Sempre Dire Quello Kent Ti Pare.avi\n"
+ "6x13 - Una festa spettacolare.mkv\n"
+ "After earth.avi\n"
+ "Capitan America Il Primo Vendicatore 480p.mkv\n"
+ "Dylan Dog 2010 Ac3.avi\n"
+ "FUMETTOLOGY - 11 - PUNTATA SPECIALE.by.IperB.mkv\n"
+ "Guida galattica per autostoppisti [BDrip 720p ITA-ENG sub ITA-ENG].mkv\n"
+ "Hook - Capitan Uncino (1991).avi\n"
+ "Kick Ass 2.avi\n"
+ "Lemony Snicket - Una serie di sfortunati eventi 2004.avi\n"
+ "Monty Python e il Sacro Graal.avi\n"
+ "Pacific_Rim_2004_BdRip_1080p_ITA_ENG_ANONIMO_CREW.mkv\n"
+ "Pompeii.2014.iTALiAN.DTS.Dual.1080p.BluRay.x264-TRtD_TeaM.mkv\n"
+ "Ralph Spaccatutto.avi\n"
+ "Red Hot Chili Simpson.avi\n"
+ "RobinHood-UnUomoInCalzamaglia.ENG.srt\n"
+ "The.Lego.Movie.2014.iTALiAN.AC3.DUAL.1080p.BluRay.x264-TrTd_TeaM.mkv\n"
+ "The.Pagemaster.1994.1080p.BluRyMux.by.gemini9669.mkv\n"
+ "Tom.&.Jerry.Avventure.Giganti.Giant.Adventure.2013.DVDRip.ITA.AC3.ENG.Mp3-MLN.avi\n"
+ "Tron 480p.mkv\n"
+ "Viaggi Spazio - Temporali.avi\n"
+ "Vite Aliene.avi\n"
+ "[DivX - ITA] The Simpson - Natale con i Simpsons 2003.avi\n"
+ "[SUB ITA] Monty Python e il Sacro Graal.srt\n"
+ "[Sub ENG] Monty Python e il Sacro Graal.srt\n"
+ "codeschool_1322.mp4\n"
+ "corto.avi\n"
+ "film xvid.ENG.srt\n"
+ "[rec].mp4\n"
+ "recita.mp4\n"
+ "regeng.flv";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
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