in reply to Regexp for date
With the particular format you're asking about, a regex shouldn't be that difficult, especially when you're not concerned with validity: something like this:
which, if my regex memory works, will match a string which starts three groups of digits separated by slashes, hyphens, or periods, where the first group has 4 digits, and the second and third groups have 1 or 2 digits. I would do some minimal validation (to throw out clearly invalid values for month or day, such as 93), so it's more likely I'd use a regex like this one:m!^[0-9]{4}[/\-.][0-9]{1,2}[/\-.][0-9]{1,2}$#!
Which, if my regex juju is still working, will match a string comprising three groups, separated by slashes, hyphens, or periods, where the first group has 4 digits, the second a number in the range 1 through 12, and the third a number in the range 0 (oops!) through 31. I know there is no day of the month numbered 0, but I'll leave that as an exercise for the reader.m/^\d{4}[\/\-.](1[0-2])|0?[1-9])[\/\-.]([012]?[0-9]|3[01]$/<p>
Another way to do this is to use split, breaking the string on the required separator, something like this:
($year, $month, $day) = split(/[.\-\/]/, $date, 3);
|
|---|