summaryrefslogtreecommitdiff
path: root/lib/scanf.rb
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-28 04:26:42 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-28 04:26:42 +0000
commit1720e7e0dff72463bd0715200ca48b0af365e7c2 (patch)
tree534860e5271f26cc5cfcd3661f1ea28f11a86922 /lib/scanf.rb
parent1392791a9e1b046f9e14711a24e51a4e5875c100 (diff)
* lib/scanf.rb: fix max width modifier for %f.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/scanf.rb')
-rw-r--r--lib/scanf.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/scanf.rb b/lib/scanf.rb
index ed39a48292..ffc0d90f49 100644
--- a/lib/scanf.rb
+++ b/lib/scanf.rb
@@ -410,11 +410,12 @@ module Scanf
# %f
when /%\*?[efgEFG]/
- [ '([-+]?((\d+(?>(?=[^\d.]|$)))|(\d*(\.(\d*([eE][-+]?\d+)?)))))', :extract_float ]
+ [ '([-+]?(?:\d+(?![\d.])|\d*\.\d*(?:[eE][-+]?\d+)?))', :extract_float ]
# %5f
when /%\*?(\d+)[efgEFG]/
- [ "(\\S{1,#{$1}})", :extract_float ]
+ [ '(?=[-+]?(?:\d+(?![\d.])|\d*\.\d*(?:[eE][-+]?\d+)?))' +
+ "(\\S{1,#{$1}})", :extract_float ]
# %5s
when /%\*?(\d+)s/