Date-building regexes


#1

Hi

Does anyone know of a regular expression for building a date? That is
one
that will match “3”, “30”, “30/”, “30/0” (etc), but not “30/099” or
(ideally) “30/02”? I’ve had a quick look into it and it seems pretty
complex, and I figured someone must have solved the problem before.

Thanks
Ashley


#2

2006/4/26, Ashley M. removed_email_address@domain.invalid:

Hi

Does anyone know of a regular expression for building a date? That is one
that will match “3”, “30”, “30/”, “30/0” (etc), but not “30/099” or
(ideally) “30/02”? I’ve had a quick look into it and it seems pretty
complex, and I figured someone must have solved the problem before.

Not 100% sure but it might be more efficient to just implement the
automata that matches the pattern and feed events (i.e. chars) to it
while the user enters them. Otherwise your regexp will grow pretty
complex as you have to provide options / alternatives for every
possible path the pattern can take. HTH

Kind regards

robert


#3

On Wed, 26 Apr 2006, Ashley M. wrote:

Hi

Does anyone know of a regular expression for building a date? That is one
that will match “3”, “30”, “30/”, “30/0” (etc), but not “30/099” or
(ideally) “30/02”? I’ve had a quick look into it and it seems pretty
complex, and I figured someone must have solved the problem before.

Thanks
Ashley

not regexes - but this may solve your problem.

http://runt.rubyforge.org/

-a


#4

Here’s what you can do:

mydate = ‘2/4/2006’
match = /\b(0?[1-9]|1[012])- /.-
/.
?[0-9]{2}\b/.match(mydate)

On Wed, 26 Apr 2006, Robert K. wrote:

while the user enters them. Otherwise your regexp will grow pretty

–Craig K.
Octo Performance Engineering, Inc


#5

Ashley M. wrote:

I’m not sure exactly what you mean by ‘building’ a date, but have you
looked at Date::parse? Does that do what you want?

http://ruby-doc.org/core/classes/Date.html#M001576

-Justin