tags:

views:

40

answers:

1

Hello, I've a Ruby regexp question.

if string == /(^\d{1,3})/ # this matches both "24" and "24 gravida ut aliquam"
  # code...
end

I want the regexp to match only "24".
How should I do to only allow digits?

+2  A: 
if string =~ /(^\d{1,3}$)/
  # code...
end

Incidentally, if you only want to match "24" (not "39" or "42") you don't want a regex, you want to do a direct comparison:

if string == "24"
  # code...
end
Dominic Rodger
Thanks a lot, very fast reply! =)
axeljohnsson
I want to match all digits up to 999. /(^\d{1,3}$)/ works great, thanks.
axeljohnsson