It's now possible to use ``{{ foo.0.0 }}``

--HG--
branch : trunk
diff --git a/CHANGES b/CHANGES
index 23ad978..c1eb733 100644
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,8 @@
 - fixed a bug with the i18n extension that caused the explicit pluralization
   block to look up the wrong variable.
 
+- fixed a limitation in the lexer that made ``{{ foo.0.0 }}`` impossible.
+
 Version 2.0
 -----------
 (codename jinjavitus, released on July 17th 2008)
diff --git a/jinja2/lexer.py b/jinja2/lexer.py
index 9702205..14b7110 100644
--- a/jinja2/lexer.py
+++ b/jinja2/lexer.py
@@ -31,7 +31,7 @@
                        r'|"([^"\\]*(?:\\.[^"\\]*)*)")', re.S)
 integer_re = re.compile(r'\d+')
 name_re = re.compile(r'\b[a-zA-Z_][a-zA-Z0-9_]*\b')
-float_re = re.compile(r'\d+\.\d+')
+float_re = re.compile(r'(?<!\.)\d+\.\d+')
 newline_re = re.compile(r'(\r\n|\r|\n)')
 
 # bind operators to token types
diff --git a/tests/test_syntax.py b/tests/test_syntax.py
index 29b3974..157720f 100644
--- a/tests/test_syntax.py
+++ b/tests/test_syntax.py
@@ -26,7 +26,7 @@
 BOOL = '''{{ true and false }}|{{ false or true }}|{{ not false }}'''
 GROUPING = '''{{ (true and false) or (false and true) and not false }}'''
 CONDEXPR = '''{{ 0 if true else 1 }}'''
-DJANGOATTR = '''{{ [1, 2, 3].0 }}'''
+DJANGOATTR = '''{{ [1, 2, 3].0 }}|{{ [[1]].0.0 }}'''
 FILTERPRIORITY = '''{{ "foo"|upper + "bar"|upper }}'''
 TUPLETEMPLATES = [
     '{{ () }}',
@@ -116,7 +116,7 @@
 
 def test_django_attr(env):
     tmpl = env.from_string(DJANGOATTR)
-    assert tmpl.render() == '1'
+    assert tmpl.render() == '1|1'
 
 
 def test_conditional_expression(env):