summaryrefslogtreecommitdiff
path: root/sqlparse
diff options
context:
space:
mode:
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),