diff --git a/django/template/base.py b/django/template/base.py
index 31bc8c924b..9472323853 100644
--- a/django/template/base.py
+++ b/django/template/base.py
@@ -204,22 +204,18 @@ class Lexer(object):
         otherwise it should be treated as a literal string.
         """
         if in_tag:
+            # The [2:-2] ranges below strip off *_TAG_START and *_TAG_END.
+            # We could do len(BLOCK_TAG_START) to be more "correct", but we've
+            # hard-coded the 2s here for performance. And it's not like
+            # the TAG_START values are going to change anytime, anyway.
             if token_string.startswith(VARIABLE_TAG_START):
-                token = Token(TOKEN_VAR,
-                              token_string[
-                                len(VARIABLE_TAG_START):-len(VARIABLE_TAG_END)
-                              ].strip())
+                token = Token(TOKEN_VAR, token_string[2:-2].strip())
             elif token_string.startswith(BLOCK_TAG_START):
-                token = Token(TOKEN_BLOCK,
-                              token_string[
-                                len(BLOCK_TAG_START):-len(BLOCK_TAG_END)
-                              ].strip())
+                token = Token(TOKEN_BLOCK, token_string[2:-2].strip())
             elif token_string.startswith(COMMENT_TAG_START):
                 content = ''
                 if token_string.find(TRANSLATOR_COMMENT_MARK):
-                    content = token_string[
-                                len(COMMENT_TAG_START):-len(COMMENT_TAG_END)
-                              ].strip()
+                    content = token_string[2:-2].strip()
                 token = Token(TOKEN_COMMENT, content)
         else:
             token = Token(TOKEN_TEXT, token_string)