import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^\n"
+ "# get the title of this movie or series\n"
+ "(?<title>\n"
+ " [-\\w'\\\"]+\n"
+ " # match separator to later replace into correct title\n"
+ " (?<separator> [\\s.] )\n"
+ " # note this must be lazy for the engine to work ltr not rtl\n"
+ " (?: [-\\w'\\\"]+\\2 )*?\n"
+ ")(?:\n"
+ " # if this is an episode, lets match the season\n"
+ " # number one way or another. if not, the year of the movie\n"
+ " # make sure this is not just a number in the title followed by our separator.\n"
+ " # like, iron man 3 2013 or my.fictional.24.series\n"
+ " (?! \\d+ \\2 )\n"
+ " # now try to match the season number\n"
+ " (?: s (?: \\2? )? )?\n"
+ " (?<season> \\d\\d? )\n"
+ " (?: e|x (?:\\2? )? )\n"
+ " (?<episode> \\d\\d? )\n"
+ " # needed to validate the last token is a dot, or whatever.\n"
+ " (?: e\\d\\d? (?:-e?\\d\\d?)? | x\\d\\d? )? \n"
+ "|\n"
+ " # this is likely a movie, match the year\n"
+ " [(\\[]?(?<year>\\d{4})[)\\]]?\n"
+ ")\n"
+ "|\n"
+ "# optional release name\n"
+ "(?:(?<release> PROPER | REPACK | LIMITED | EXTENDED | INTERNAL | NEW(?:\\ SOURCE)? | NUKED | UNRATED | .*?\\ EDITION | HC))\n"
+ "|\n"
+ "# optional resolution group\n"
+ "(?<resolution> \\d{3,4}\\ ?p)\n"
+ "|\n"
+ "# optional quality group\n"
+ "(?<quality> HDTV | WEB[-.]?DL | HDDVD | DVDRip | DVD | B[DR]Rip | Blu[-.\\ ]?Ray | HDRip | WEBRIP )\n"
+ "|\n"
+ "# optional codec group\n"
+ "(?<codec> XviD | X26[45] | h26[45] | hevc )\n"
+ "|\n"
+ "# optional audio group\n"
+ "(?<audio> AC3 | AAC | DTS | DD5\\.1)\n"
+ "|\n"
+ "# optional team group with hyphen prefix\n"
+ "(?:-(?<team>.*?))?\n"
+ "# optional extension group with . prefix\n"
+ "(?:\\.(?<extension>mkv|avi|mp4|srt))?\n"
+ "$";
final String string = "Person.of.Interest.S05E13.HDTV.X264-DIMENSION.mkv\n"
+ "The.Big.Bang.Theory.S09E21.720p.HDTV.X264-DIMENSION[ettv]\n"
+ "The Walking Dead S08E01 Mercy\n"
+ "Brooklyn.Nine-Nine.S03E23.720p.WEBRip.x264\n"
+ "The.Walking.Dead.S07E01.REPACK.720p.HDTV.x265-ShAaNiG\n"
+ "Shame.2011.1080p.BluRay.x265-RARBG\n"
+ "Game.of.Thrones.S04E08.720p.HDTV.x264-KILLERS\n"
+ "The.Grand.Budapest.Hotel.2014.1080p.BluRay.x264-BLOW\n"
+ "Another.Earth.2011.LIMITED.720p.BluRay.X264-AMIABLE\n"
+ "The.Green.Mile.1999.720p.BluRay.x264-HDCLASSiCS\n"
+ "Donnie.Darko.2001.PROPER.1080p.BluRay.x264-RRH\n"
+ "Cosmos.A.Space.Time.Odyssey.S01E12.720p.HDTV.X264-DIMENSION\n"
+ "Game.of.Thrones.S04E10.720p.HDTV.x264-KILLERS\n"
+ "# Will not work with v1 because of the misplaced codec \"H264\"\n"
+ "Homeland.S05E11.Our.Man.in.Damascus.720p.WEB-DL.DD5.1.H264-NTb[rarbg]\n"
+ "# Will not work with v1 because of the unproperly formatted team name \".rmteam\"\n"
+ "limitless.s01e01.pilot.720p.webrip.hevc.x265.rmteam.mkv\n"
+ "Futurama.S06.720p.BluRay.X264-REWARD-SiNNERS\n"
+ "Game.of.Thrones.S04E09.720p.HDTV.x264-KILLERS\n"
+ "# Will not work with v1 because of the misplaced audio coding \"DTS\"\n"
+ "The Road 2009 Bluray DTS 720 p - TRiNiTY\n"
+ "# Will not work with v1 because of the unexpected \"MSubs [DDR]\"\n"
+ "Dead Poets Society (1989) 720p Blu-ray x264 DTS MSubs [DDR]\n"
+ "# Will not work anyway because of missing mandatory year\n"
+ "Hot.Fuzz.720p.HDDVD.x264-SEPTiC\n"
+ "True.Detective.S01E01.720p.HDTV.x264-KILLERS\n"
+ "Garden.State.2004.720p.BluRay.X264-AMIABLE\n"
+ "The.Royal.Tenenbaums.2001.1080p.BluRay.X264-AMIABLE\n"
+ "Non-Stop.2014.720p.BluRay.X264-AMIABLE\n"
+ "True.Detective.S01E02.720p.HDTV.x264-KILLERS\n"
+ "Fargo.S01E07.720p.HDTV.X264-DIMENSION\n"
+ "Silicon.Valley.S01E08.720p.HDTV.x264-KILLERS\n"
+ "True.Detective.S01E03.720p.HDTV.x264-KILLERS\n"
+ "Fargo.S01E08.720p.HDTV.X264-DIMENSION\n"
+ "Suits.S04E01.720p.HDTV.X264-DIMENSION\n"
+ "True.Detective.S01E04.720p.HDTV.x264-KILLERS\n"
+ "Fargo.S01E10.720p.HDTV.X264-DIMENSION\n"
+ "Suits.S04E02.720p.HDTV.X264-DIMENSION\n"
+ "True.Detective.S01E06.720p.HDTV.x264-2HD\n"
+ "The.Descendants.2011.720p.BluRay.x264-ALLiANCE\n"
+ "True.Detective.S01E07.720p.HDTV.x264-KILLERS\n"
+ "Killing Season 2013 DVDRip x264-NoRBiT\n"
+ "Game of Thrones S04E10 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E09 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E08 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E07 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E05 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E03 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E04 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E01 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E02 720p HDTV x264-2HD\n"
+ "Game of Thrones S04E06 720p HDTV x264-DIMENSION\n"
+ "Game of Thrones S04E10 HDTV x264-KILLERS\n"
+ "True Blood S07E01 720p HDTV x264-KILLERS\n"
+ "Non-Stop 2014 720p BluRay X264-AMIABLE\n"
+ "The Big Bang Theory S07E24 720p HDTV X264-DIMENSION\n"
+ "Game of Thrones S04E09 HDTV x264-KILLERS\n"
+ "24 S09E09 720p HDTV X264-DIMENSION\n"
+ "The Big Bang Theory S07E23 720p HDTV X264-DIMENSION\n"
+ "Game of Thrones S04E08 HDTV x264-KILLERS\n"
+ "Suits S04E02 720p HDTV X264-DIMENSION\n"
+ "Game of Thrones S04E06 INTERNAL 720p HDTV x264-BATV\n"
+ "The Big Bang Theory S07E22 720p HDTV X264-DIMENSION\n"
+ "Suits S04E01 720p HDTV X264-DIMENSION\n"
+ "Watch Dogs Hotfix-RELOADED\n"
+ "Wolfenstein The New Order-RELOADED\n"
+ "The Big Bang Theory S07E20 720p HDTV X264-DIMENSION\n"
+ "The Big Bang Theory S07E21 720p HDTV X264-DIMENSION\n"
+ "Suits S04E03 720p HDTV X264-DIMENSION\n"
+ "Californication S07E10 720p HDTV x264-DAA\n"
+ "True Blood S07E01 HDTV x264-KILLERS\n"
+ "24 S09E08 720p HDTV X264-DIMENSION\n"
+ "Game of Thrones S04E07 HDTV x264-KILLERS\n"
+ "Game of Thrones S04E05 HDTV x264-KILLERS\n"
+ "Silicon Valley S01E01 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E06 HDTV x264-KILLERS\n"
+ "24 S09E07 720p HDTV X264-DIMENSION\n"
+ "Californication S07E08 720p HDTV x264-DAA\n"
+ "The Big Bang Theory S07E19 720p HDTV X264-DIMENSION\n"
+ "24 S09E06 720p HDTV X264-DIMENSION\n"
+ "Californication S07E11 720p HDTV x264-KILLERS\n"
+ "The Wolf of Wall Street 2013 DVDScr x264-HaM\n"
+ "Game of Thrones S04E01 HDTV x264-KILLERS\n"
+ "Game of Thrones S04E10 1080p HDTV x264-BATV\n"
+ "The Wolf of Wall Street 2013 720p BluRay X264-AMIABLE\n"
+ "Game of Thrones S04E02 HDTV x264-2HD\n"
+ "Game of Thrones S04E03 HDTV x264-KILLERS\n"
+ "The Big Bang Theory S07E24 HDTV x264-LOL\n"
+ "24 S09E05 720p HDTV X264-DIMENSION\n"
+ "Southpark Stick Of Truth-RELOADED\n"
+ "300 Rise Of An Empire 2014 720p BluRay x264-BLOW\n"
+ "Californication S07E09 INTERNAL 720p HDTV x264-BATV\n"
+ "The Monuments Men 2014 720p BluRay x264-BLOW\n"
+ "The Big Bang Theory S07E18 720p HDTV X264-DIMENSION\n"
+ "Suits S04E01 HDTV x264-LOL\n"
+ "The Wolf Of Wall Street 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Her 2013 720p BluRay x264-SPARKS\n"
+ "The Big Bang Theory S07E17 720p HDTV X264-DIMENSION\n"
+ "The Big Bang Theory S07E23 HDTV x264-LOL\n"
+ "Family Guy S12E20 720p HDTV X264-DIMENSION\n"
+ "The Walking Dead S04E15 720p HDTV x264-2HD\n"
+ "300 Rise Of An Empire 2014 1080p BluRay x264-BLOW\n"
+ "24 S09E04 720p HDTV X264-DIMENSION\n"
+ "The Big Bang Theory S07E16 720p HDTV X264-DIMENSION\n"
+ "Californication S07E07 720p HDTV x264-DAA\n"
+ "Suits S04E02 HDTV x264-LOL\n"
+ "Snowpiercer 2013 BRRip XviD AC3-AQOS\n"
+ "Fargo S01E09 720p HDTV X264-DIMENSION\n"
+ "Fargo S01E10 720p HDTV X264-DIMENSION\n"
+ "Silicon Valley S01E08 720p HDTV x264-KILLERS\n"
+ "The Walking Dead S04E12 720p HDTV x264-REMARKABLE\n"
+ "Falling Skies S04E01 720p HDTV x264-KILLERS\n"
+ "The Big Bang Theory S07E22 HDTV x264-LOL\n"
+ "The Hobbit The Desolation of Smaug 2013 1080p BluRay x264-SPARKS\n"
+ "Thor The Dark World 2013 720p HDRip XviD-AQOS\n"
+ "Silicon Valley S01E02 720p HDTV x264-2HD\n"
+ "Californication S07E06 720p HDTV x264-DAA\n"
+ "True Detective S01E01 720p HDTV x264-KILLERS\n"
+ "The Walking Dead S04E13 720p HDTV x264-2HD\n"
+ "Robocop 2014 720p BluRay x264-SPARKS\n"
+ "The Walking Dead S04E16 PROPER 720p HDTV x264-KILLERS\n"
+ "The Big Bang Theory S07E21 HDTV x264-LOL\n"
+ "The Grand Budapest Hotel 2014 720p BluRay x264-BLOW\n"
+ "24 S09E03 720p HDTV X264-DIMENSION\n"
+ "True Detective S01E03 720p HDTV x264-KILLERS\n"
+ "Game of Thrones S04E04 REPACK HDTV x264-KILLERS\n"
+ "24 S09E01 720p HDTV X264-DIMENSION\n"
+ "24 S09E02 720p HDTV X264-DIMENSION\n"
+ "Silicon Valley S01E03 720p HDTV x264-KILLERS\n"
+ "The Big Bang Theory S07E15 720p HDTV X264-DIMENSION\n"
+ "Dallas Buyers Club 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Walking Dead S04E11 720p HDTV x264-2HD\n"
+ "How I Met Your Mother S09E23-E24 720p HDTV x264-REMARKABLE\n"
+ "Suits S03E16 720p HDTV x264-KILLERS\n"
+ "GRID Autosport-RELOADED\n"
+ "Silicon Valley S01E05 720p HDTV x264-KILLERS\n"
+ "Vikings S02E10 720p HDTV x264-2HD\n"
+ "Silicon Valley S01E06 720p HDTV x264-2HD\n"
+ "300 Rise Of An Empire 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "Californication S07E05 720p HDTV x264-2HD\n"
+ "Silicon Valley S01E04 720p HDTV x264-KILLERS\n"
+ "The Wolf Of Wall Street 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Snowpiercer 2013 BRRip XviD AC3-AQOS\n"
+ "Dallas Buyers Club 2013 720p BRRip x264 AAC-ViSiON\n"
+ "300 Rise Of An Empire 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "American Hustle 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Grand Budapest Hotel 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "This Is The End 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Non-Stop 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "A Million Ways To Die In The West 2014 720p New Webrip x264 AC3 TiTAN\n"
+ "Captain Phillips 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Lego Movie 2014 720p HDRip XviD-AQOS\n"
+ "Now You See Me 2013 EXTENDED 720p BDRip x264 AAC-ViSiON\n"
+ "Bad Neighbours 2014 720p WEBRIP x264 AC3-EVE\n"
+ "Gravity 2013 720p WEBRiP XViD AC3-LEGi0N\n"
+ "The Raid 2 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "Under The Skin 2013 720p HDRIP x264 AC3 TiTAN\n"
+ "The Hobbit The Desolation Of Smaug 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Wolverine 2013 EXTENDED 720p BRRip x264 AAC-ViSiON\n"
+ "Pompeii 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "12 Years A Slave 2013 720p BDRip XviD AC3-ViSiON\n"
+ "Frozen 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Man Of Steel 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Elysium 2013 720p WEBRiP XViD AC3-LEGi0N\n"
+ "The Monuments Men 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "Snowpiercer 2013 720p BDRip x264 AAC-ViSiON\n"
+ "The Hunger Games Catching Fire 2013 IMAX EDITION 720p BRRip XviD AC3-ViSiON\n"
+ "Robocop 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "Jack Ryan Shadow Recruit 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "Bad Words 2013 720p BRRiP XViD AC3-LEGi0N\n"
+ "The Double 2014 720p HDRip x264 AAC-FooKaS\n"
+ "Prisoners 2013 720p WEB-DL x264 AAC-ViSiON\n"
+ "The Secret Life Of Walter Mitty 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Riddick 2013 UNRATED DC 720p WEB-DL XviD AC3-ELiTE\n"
+ "47 Ronin 2013 720p WEB-DL XviD AC3-ELiTE\n"
+ "Enders Game 2013 720p BRRiP XViD AC3-LEGi0N\n"
+ "Oblivion 2013 720p BRRip x264 AAC-ViSiON\n"
+ "That Awkward Moment 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "The Raid 2 2014 BDRip x264-GECKOS\n"
+ "47 Ronin 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Grand Budapest Hotel 2014 720p WEBRIP x264 AC3-EVE\n"
+ "Her 2013 720p BRRiP XViD AC3-LEGi0N\n"
+ "Don Jon 2013 720p BRRip x264 AAC-ViSiON\n"
+ "3 Days to Kill 2014 EXTENDED 720p BRRiP XViD AC3-LEGi0N\n"
+ "The Lego Movie PROPER 720p HDRIP x264 AC3 TiTAN\n"
+ "Thor The Dark World 2013 720p WEBRiP XViD AC3-LEGi0N\n"
+ "White House Down 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Hunger Games Catching Fire 2013 IMAX EDITION 720p BRRip x264 AAC-ViSiON\n"
+ "The Lego Movie 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "Bad Grandpa 2013 UNRATED 720p WEB-DL XviD AC3-ELiTE\n"
+ "Non-Stop 2014 BRRip XviD AC3-SANTi\n"
+ "Escape Plan 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Despicable Me 2 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Delivery Man 2013 720p BRRiP XViD AC3-LEGi0N\n"
+ "Blended 2014 720p WEBRIP x264 AC3-EVE\n"
+ "RoboCop 2014 720p WEBRIP x264 AC3-EVE\n"
+ "The Great Gatsby 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Fast And Furious 6 2013 720p WEBRiP XViD AC3-LEGi0N\n"
+ "A Million Ways to Die in the West 2014 HC 720p WEBRIP x264 AC3-MiLLENiUM\n"
+ "Red 2 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Lone Ranger 2013 720p BDRip x264 AAC-ViSiON\n"
+ "World War Z 2013 UNRATED 720p BRRiP XViD AC3-LEGi0N\n"
+ "Enemy 2013 LIMITED 720p BRRiP XViD AC3-LEGi0N\n"
+ "Vampire Academy 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "The Legend Of Hercules 2014 720p BRRip x264 AAC-ViSiON\n"
+ "Non-Stop 2014 BDRip X264-AMIABLE\n"
+ "Afflicted 2013 LIMITED 720p BRRiP XViD AC3-LEGi0N\n"
+ "Street Fighter Assassin's Fist 2014 720p HDRip x264 AC3 TiTAN\n"
+ "Veronica Mars 2014 HDRip AC3 XviD-EVO\n"
+ "2 Guns 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Anchorman 2 The Legend Continues 2013 UNRATED 720p BRRip x264 AAC-ViSiON\n"
+ "Lone Survivor 2013 720p WEBRiP XVID AC3-MAJESTIC\n"
+ "Kick-Ass 2 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Jack Ryan Shadow Recruit 2014 HDRip XviD AC3-EVO\n"
+ "Rush 2013 720p BRRip x264 AAC-ViSiON (Happy New Year from ViSiON!)\n"
+ "Calvary 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "The Hunger Games Catching Fire 2013 BRRip XviD AC3-SANTi\n"
+ "Jack Ryan Shadow Recruit 2014 720p WEBRIP x264 AC3-EVE\n"
+ "Thor The Dark World 2013 720p BRRip x264 AAC-ViSiON\n"
+ "# \n"
+ "Bad Neighbours 2014 WEBRip NEW SOURCE Xvid Mp3-MiLLENiUM\n"
+ "Prisoners 2013 720p BRRiP x264 AC3-LEGi0N\n"
+ "Elysium 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Pacific Rim 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Saving Mr Banks 2013 720p BRRip x264 AAC-ViSiON\n"
+ "The Monuments Men 2014 BDRip x264-COCAIN\n"
+ "Joe 2013 1080p WEBRIP x264 AC3-EVE\n"
+ "I Frankenstein 2014 720p BRRiP XViD AC3-LEGi0N\n"
+ "The Secret Life Of Walter Mitty 2013 720p WEB-DL XviD AC3-ELiTE\n"
+ "The Monuments Men 2014 BRRip XviD AC3-AQOS\n"
+ "About Time 2013 720p BDRip XviD AC3-ELiTE\n"
+ "Frozen 2013 720p BRRiP XViD AC3-LEGi0N\n"
+ "Enemy 2013 720p WEBRiP XViD AC3-LEGi0N\n"
+ "I Frankenstein 2014 BRRip XviD AC3-SANTi\n"
+ "Out Of The Furnace 2013 720p BRRip x264 AAC-ViSiON\n"
+ "Walk of Shame 2014 LIMITED 720p BRRiP XViD AC3-LEGi0N\n"
+ "Iron Man 3 2013 720p BDRip x264 AAC-ViSiON\n"
+ "The Monuments Men 2014 720p BDRIP x264 AC3-EVE\n"
+ "Anchorman 2 The Legend Continues 2013 720p HDRIP x264 AC3 TiTAN\n"
+ "Captain Phillips 2013 720p BRRiP XViD AC3-LEGi0N\n"
+ "Jack Ryan Shadow Recruit 2014 BRRip XviD AC3-SANTi\n"
+ "Cloudy With A Chance Of Meatballs 2 2013 720p BRRip x264 AAC-ViSiON\n"
+ "my.fictional.24.series.s01e02.720p-firas ";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.COMMENTS);
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