From 4dd31c48c5ef42ea731e0c6a86b99cb3c89f0a6a Mon Sep 17 00:00:00 2001 From: atronah Date: Sat, 29 Apr 2017 14:49:38 +0300 Subject: adds '1.' option support for float numbers regex --- sqlparse/keywords.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sqlparse') diff --git a/sqlparse/keywords.py b/sqlparse/keywords.py index f742598..fbc77d5 100644 --- a/sqlparse/keywords.py +++ b/sqlparse/keywords.py @@ -53,13 +53,14 @@ SQL_REGEX = { # Spaces around period `schema . name` are valid identifier # TODO: Spaces before period not implemented (r'[A-Z]\w*(?=\s*\.)', tokens.Name), # 'Name' . + # FIXME(atronah): never match, + # because `re.match` doesn't work with lookbehind regexp feature (r'(?<=\.)[A-Z]\w*', tokens.Name), # .'Name' (r'[A-Z]\w*(?=\()', tokens.Name), # side effect: change kw to func - # 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+(\.\d*)|\.\d+)', tokens.Number.Float), (r'-?\d+', tokens.Number.Integer), (r"'(''|\\\\|\\'|[^'])*'", tokens.String.Single), -- cgit v1.2.1