From 17d5f474238fc753bf4d28d458784a0e2e6d3cd9 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Tue, 9 Jun 2015 14:20:31 -0400 Subject: - Issue #24351: Clarify what is meant by "identifier" in the context of string.Template instances. --- Doc/library/string.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'Doc/library/string.rst') diff --git a/Doc/library/string.rst b/Doc/library/string.rst index f9da5fa7ad..19bdb21b3e 100644 --- a/Doc/library/string.rst +++ b/Doc/library/string.rst @@ -640,12 +640,14 @@ Instead of the normal ``%``\ -based substitutions, Templates support ``$``\ * ``$$`` is an escape; it is replaced with a single ``$``. * ``$identifier`` names a substitution placeholder matching a mapping key of - ``"identifier"``. By default, ``"identifier"`` must spell a Python - identifier. The first non-identifier character after the ``$`` character - terminates this placeholder specification. - -* ``${identifier}`` is equivalent to ``$identifier``. It is required when valid - identifier characters follow the placeholder but are not part of the + ``"identifier"``. By default, ``"identifier"`` is restricted to any + case-insensitive ASCII alphanumeric string (including underscores) that + starts with an underscore or ASCII letter. The first non-identifier + character after the ``$`` character terminates this placeholder + specification. + +* ``${identifier}`` is equivalent to ``$identifier``. It is required when + valid identifier characters follow the placeholder but are not part of the placeholder, such as ``"${noun}ification"``. Any other appearance of ``$`` in the string will result in a :exc:`ValueError` -- cgit v1.2.1