Regular Expressions 101

@regex101
Donate
Sponsor
Contact
Bug Reports & Feedback
Wiki
Whats new?

Library entries

0
javascript
Submitted by anonymous - 11 hours ago

match

ádf
0
python
Submitted by guif - a day ago

regex_restauratio_Vé

regex
0
python
Submitted by guif - a day ago

regex_restauration

regex
0
pcre2
Submitted by fl0 - a day ago

parse/replace closed tag

parse and replace a {tag}..{/tag} or {tag}
0
javascript
Submitted by anonymous - a day ago

Matching anything minimum 1 character, max 50

^.{1,50}$
0
pcre
Submitted by Mark - 3 days ago

RangeForce exercise

exercise
0
pcre2
Submitted by ramses - 4 days ago

email

........

Distinguish torrent files (series vs movies)

Vote

81

Regular Expression
python

"
^ # get the title of this movie or series (?P<title> [-\w'"]+ # match separator to later replace into correct title (?P<separator> [ .] ) # note this *must* be lazy for the engine to work ltr not rtl (?: [-\w'"]+\2 )*? ) # start of movie vs serie check (?: # if this is an episode, lets match the season # number one way or another. if not, the year # of the movie (?: # series. can be a lot prettier if we used perl regex... # make sure this is not just a number in the title followed by our separator. # like, iron man 3 2013 or my.fictional.24.series (?! \d+ \2 ) # now try to match the season number (?: s (?: eason \2? )? )? (?P<season> \d\d? ) # needed to validate the last token is a dot, or whatever. (?: e\d\d? (?:-e?\d\d?)? | x\d\d? )? | # this is likely a movie, match the year (?P<year> [(\]]?\d{4}[)\]]? ) ) # make sure this ends with the separator, otherwise we # might be in the middle of something like "1080p" (?=\2) | # if we get here, this is likely still a movie. # match until one of the keywords (?= BOXSET | XVID | DIVX | LIMITED | UNRATED | PROPER | DTS | AC3 | AAC | BLU[ -]?RAY | HD(?:TV|DVD) | (?:DVD|B[DR]|WEB)RIP | \d+p | [hx]\.?264 ) )
"
gimx

Description

Loading markdown...
Submitted by Firas Dib - 7 years ago