From 87fb2473072e2631af3c714654fe986bcf06dd2b Mon Sep 17 00:00:00 2001 From: Robsdedude Date: Sun, 7 Jun 2026 22:56:07 +0200 Subject: [PATCH] Fix format string syntax grammar When it comes to names for fields or attributes, format strings are much more permissive than the documentation implies. --- Doc/library/string.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Doc/library/string.rst b/Doc/library/string.rst index be968a3c53d8430..d4c17d12928c94d 100644 --- a/Doc/library/string.rst +++ b/Doc/library/string.rst @@ -219,8 +219,9 @@ The grammar for a replacement field is as follows: .. productionlist:: format-string replacement_field: "{" [`field_name`] ["!" `conversion`] [":" `format_spec`] "}" field_name: `arg_name` ("." `attribute_name` | "[" `element_index` "]")* - arg_name: [`~python-grammar:identifier` | `~python-grammar:digit`+] - attribute_name: `~python-grammar:identifier` + arg_name: [`name_string` | `~python-grammar:digit`+] + attribute_name: `name_string` + name_string: + element_index: `~python-grammar:digit`+ | `index_string` index_string: + conversion: "r" | "s" | "a"