Media Companion

Discussion and development board for the program Media Companion.
 
HomeHome  FAQFAQ  SearchSearch  RegisterRegister  Log inLog in  

Share | 
 

 A better regex?

View previous topic View next topic Go down 
AuthorMessage
StormyKnight
VIP
VIP


Posts : 556
Join date : 2008-10-08
Location : Australia

PostSubject: A better regex?   Wed Jan 13, 2010 4:02 am

A recent user of MC had an issue with MC not returning the correct season & episode information from the show they where trying to use. That show was named 3x3 Eyes
Now the issue here is that the 3x3 is also one of the methods to name the season & episodes of a particular Tv show. An example of the full path of one of these shows would be something like this....

C:\Video\TV Shows\3x3 Eyes\1x01 - Transmigration.avi

The issue is is that because the regex looks left-to-right it finds a match with 3x3 & so returns with Season 3 & Episode 3. If the Season & episode had been writen like this....

C:\Video\TV Shows\3x3 Eyes\S01E01 - Transmigration.avi

it would have been fine, since in MC the regex test for the S??E?? format is tested before the ??x?? method & once the first match is found MC moves onto the next video file.

MC has 3 regex test built in, S??E??, ??x?? & ????. The last is just simply defining say Season 1 Episode 1 as 0101. This is left to last in MC since any video path containg a 4 digit year will trigger the regex.

So if you had.....

C:\Backup 2009\Video\TV Shows\Two & A Half Men\0403.avi

the regex would return the season as 20 & the Episode number as 09.

Is there a better way?
Well the 3x3 show bugged me a bit, I had a few solutions that I really wasn't happy with before I came across a better one.....
What I wanted was to return the last match, not the first......that way it will still work if there is only one match, but the filename component takes priority over the rest of the path of the video file - as you would want.

The basis of the next regex is from this web site....

http://frightanic.wordpress.com/2007/06/08/regex-match-last-occurrence/

the regex example they give is quite simple.....

foo(?!.*foo)

In this case it returns the last foo in a text string.

So for our regex's we just need to replace both foo's with our current regex's, so the new regex's become.

[Ss]([\d]{1,2}).?[Ee]([\d]{1,2})(?!.*[Ss]([\d]{1,2}).?[Ee]([\d]{1,2}))
([\d]{1,2}) ?[xX] ?([\d]{1,2})(?!.*([\d]{1,2}) ?[xX] ?([\d]{1,2}))
([0-9]+)([0-9][0-9])(?!.*([0-9]+)([0-9][0-9]))


I've tested each of these with my test path below succesfully in MC....

C:\2009\21x4 Eyes\S01E01\S07E02 7x3 704.avi

all regex's return the season 7 & relavent episode number.

Cheers
Back to top Go down
View user profile
Johnson75
Senior Member
Senior Member


Posts : 81
Join date : 2011-05-09

PostSubject: Re: A better regex?   Fri May 20, 2011 5:40 am

when you put it on, you will find stunning transformations have been made on your look. Each breath you take becomes more princess-like. Then, how can you discover the really needed wedding gown?
Providing a diverse selection of 2011 prom dresses along with our affordable 2011 prom dresses under $200. Our Muslim Wedding Dresses online store features cheap Muslim Wedding Dresses, discounted islamic wedding dresse. Shop Prom Girl for sweet 16 dresses, sweet sixteen dresses, sweet sixteen Cheap Party Dresses, and dresses for sweet 16.
Almost anytime, it's a must to keep an open mind to
Back to top Go down
View user profile
 
A better regex?
View previous topic View next topic Back to top 
Page 1 of 1
 Similar topics
-
» how to use Regular expressions in Web driver along with xpath???
» How do I extract a string using regexp?
» how to select checkbox whose id is not known or dynamic with selenium RC
» error: Selenium can not be resolved

Permissions in this forum:You cannot reply to topics in this forum
Media Companion :: Media Companion :: General Discussion-
Jump to: