From: Tim Greer Date: 2008-12-27T02:25:02+09:00 Subject: Re: Regular Expression Trouble Chris Hoeppner wrote: > Hey! > > I'm writing a little script to rename files with weird names but > common bits to a common format. Here's the regular expression I use to > extract the common data: > > /.*s?(\d?\d)x?e?(\d\d).*\.(\w{3})$/i > > It's meant to rename TV Show files, both video and subtitles. I'm > having trouble making it match the first group however. One of the > digits should be optional, so I stuffed a ? sign there. However, it > only matches one digit, leaving strings like 12x14 with captures ["2", > "14"]. > > I'm not quite sure if there's anything wrong with my expression there, > but I'd swear it's the way to do it. Maybe you're able to see > something I'm looking past. > > Thanks! .* should probably be set to non greedy .*?, so it doesn't grab things you don't want. /.*?s?(\d?\d)x?e?(\d\d).*?\.(\w{3})$/i What exactly does the data you're pulling the digits and 3 letter file extension from look like? -- Tim Greer, CEO/Founder/CTO, BurlyHost.com, Inc. Shared Hosting, Reseller Hosting, Dedicated & Semi-Dedicated servers and Custom Hosting. 24/7 support, 30 day guarantee, secure servers. Industry's most experienced staff! -- Web Hosting With Muscle!