summaryrefslogtreecommitdiffstats
path: root/Lib/string.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/string.py')
-rw-r--r--Lib/string.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/Lib/string.py b/Lib/string.py
index 5cf5b6f..3f65978 100644
--- a/Lib/string.py
+++ b/Lib/string.py
@@ -193,17 +193,20 @@ def rfind(s, sub, i = 0, last=None):
return r
# Convert string to float
+re = None
def atof(str):
- import regex
+ global re
+ if re is None:
+ import re
sign = ''
- s = str
+ s = strip(str)
if s and s[0] in '+-':
sign = s[0]
s = s[1:]
if not s:
raise ValueError, 'non-float argument to string.atof'
while s[0] == '0' and len(s) > 1 and s[1] in digits: s = s[1:]
- if regex.match('[0-9]*\(\.[0-9]*\)?\([eE][-+]?[0-9]+\)?', s) != len(s):
+ if not re.match('[0-9]*(\.[0-9]*)?([eE][-+]?[0-9]+)?$', s):
raise ValueError, 'non-float argument to string.atof'
try:
return float(eval(sign + s))