summaryrefslogtreecommitdiff
path: root/sqlparse
diff options
context:
space:
mode:
authorVictor Uriarte <victor.m.uriarte@intel.com>2016-06-03 11:37:12 -0700
committerVictor Uriarte <victor.m.uriarte@intel.com>2016-06-04 11:54:24 -0700
commit689153a1fbe1bd8661c405e5305c4ac2414e55a8 (patch)
tree0b678c8cdd204902b2e63ac7727d6129ccda97b7 /sqlparse
parent752100443bd1a5ddd81d57166db887c1fbd9f7ef (diff)
downloadsqlparse-689153a1fbe1bd8661c405e5305c4ac2414e55a8.tar.gz
Clean regex for Number tokens
Diffstat (limited to 'sqlparse')
-rw-r--r--sqlparse/keywords.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/sqlparse/keywords.py b/sqlparse/keywords.py
index 1b5d5f2..34e4d80 100644
--- a/sqlparse/keywords.py
+++ b/sqlparse/keywords.py
@@ -50,10 +50,12 @@ SQL_REGEX = {
(r'(?<=\.)[A-Z]\w*', tokens.Name), # .'Name'
(r'[A-Z]\w*(?=\()', tokens.Name), # side effect: change kw to func
- (r'[-]?0x[0-9a-fA-F]+', tokens.Number.Hexadecimal),
- (r'[-]?[0-9]*(\.[0-9]+)?[eE][-]?[0-9]+', tokens.Number.Float),
- (r'[-]?[0-9]*\.[0-9]+', tokens.Number.Float),
- (r'[-]?[0-9]+', tokens.Number.Integer),
+ # TODO: `1.` and `.1` are valid numbers
+ (r'-?0x[\dA-F]+', tokens.Number.Hexadecimal),
+ (r'-?\d*(\.\d+)?E-?\d+', tokens.Number.Float),
+ (r'-?\d*\.\d+', tokens.Number.Float),
+ (r'-?\d+', tokens.Number.Integer),
+
(r"'(''|\\\\|\\'|[^'])*'", tokens.String.Single),
# not a real string literal in ANSI SQL:
(r'(""|".*?[^\\]")', tokens.String.Symbol),