From: Stefano Crocco Date: 2010-01-11T21:50:53+09:00 Subject: Re: Regex help On Monday 11 January 2010, Chris Lervag wrote: > |Hi > |I want to test a string for three properties: > |1) It is exactly 9 characters long. > |2) Character number 5 is a comma (','). > |3) The other characters are either numbers 0-9 or letters a-f. > | > |I have been able to do this by a combination of strings methods for 1) > |and 2), and using a regex match on the string (stripped of the comma) > |with the following code: > |myString =~ /([^a-f0-9])/ > | > |If possible I would like to simplify this by using a more advanced regex > |match to check all three properties at one time. If this is possible, > |perhaps one of you regex wizards out there could show me how? :) > | > |Best regards, > |Chris You could do this with a regexp which matches the following: * the beginning of the string * four characters of type a-f or digits * a comma * four characters of type a-f or digits * the end of the string The regexp is: /^[a-f\d]{4},[a-f\d]{4}$/ Note that your string can contain newlines, you must replace ^ and $ with \A and \Z respectively. I hope this helps Stefano