diff options
author | Kevin Jing Qiu <kevin.jing.qiu@gmail.com> | 2012-01-10 13:16:26 +0100 |
---|---|---|
committer | Kevin Jing Qiu <kevin.jing.qiu@gmail.com> | 2012-01-10 13:16:26 +0100 |
commit | c794c97531c09e66b6a7ffac76626a727ad02f5e (patch) | |
tree | 82b517d68d9da916a61e72af40b4ac41a92d351c /sqlparse/lexer.py | |
parent | a66921a2b67ef725f31658697003c383e58a4236 (diff) | |
download | sqlparse-c794c97531c09e66b6a7ffac76626a727ad02f5e.tar.gz |
Fixed lexer to accept negative numbers (fixes issue56).
Diffstat (limited to 'sqlparse/lexer.py')
-rw-r--r-- | sqlparse/lexer.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sqlparse/lexer.py b/sqlparse/lexer.py index 456c7f4..64ede4c 100644 --- a/sqlparse/lexer.py +++ b/sqlparse/lexer.py @@ -180,11 +180,9 @@ class Lexer(object): (r'[$:?%][a-zA-Z0-9_]+[^$:?%]?', tokens.Name.Placeholder), (r'@[a-zA-Z_][a-zA-Z0-9_]+', tokens.Name), (r'[a-zA-Z_][a-zA-Z0-9_]*(?=[.(])', tokens.Name), # see issue39 - (r'[<>=~!]+', tokens.Operator.Comparison), - (r'[+/@#%^&|`?^-]+', tokens.Operator), - (r'0x[0-9a-fA-F]+', tokens.Number.Hexadecimal), - (r'[0-9]*\.[0-9]+', tokens.Number.Float), - (r'[0-9]+', tokens.Number.Integer), + (r'[-]?0x[0-9a-fA-F]+', tokens.Number.Hexadecimal), + (r'[-]?[0-9]*\.[0-9]+', tokens.Number.Float), + (r'[-]?[0-9]+', tokens.Number.Integer), # TODO: Backslash escapes? (r"(''|'.*?[^\\]')", tokens.String.Single), # not a real string literal in ANSI SQL: @@ -197,6 +195,8 @@ class Lexer(object): (r'(?<=\.)[a-zA-Z_][a-zA-Z0-9_]*', tokens.Name), (r'[a-zA-Z_][a-zA-Z0-9_]*', is_keyword), (r'[;:()\[\],\.]', tokens.Punctuation), + (r'[<>=~!]+', tokens.Operator.Comparison), + (r'[+/@#%^&|`?^-]+', tokens.Operator), ], 'multiline-comments': [ (r'/\*', tokens.Comment.Multiline, 'multiline-comments'), |