From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 19 Jun 2025 15:07:40 +0000 (+0200) Subject: [3.13] Docs: Add missing lines between regex and text (GH-134505) (GH-135719) X-Git-Tag: v3.13.6~194 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2537188f9562441a34fc5d329a8e2948a1106016;p=thirdparty%2FPython%2Fcpython.git [3.13] Docs: Add missing lines between regex and text (GH-134505) (GH-135719) Docs: Add missing lines between regex and text (GH-134505) (cherry picked from commit 754190287ece5a2e66684161aadafb18f5f44868) Co-authored-by: Rafael Fontenelle --- diff --git a/Doc/howto/regex.rst b/Doc/howto/regex.rst index 5e2f9a9d1837..031caea3cec3 100644 --- a/Doc/howto/regex.rst +++ b/Doc/howto/regex.rst @@ -1013,7 +1013,9 @@ extension. This regular expression matches ``foo.bar`` and Now, consider complicating the problem a bit; what if you want to match filenames where the extension is not ``bat``? Some incorrect attempts: -``.*[.][^b].*$`` The first attempt above tries to exclude ``bat`` by requiring +``.*[.][^b].*$`` + +The first attempt above tries to exclude ``bat`` by requiring that the first character of the extension is not a ``b``. This is wrong, because the pattern also doesn't match ``foo.bar``. @@ -1040,7 +1042,9 @@ confusing. A negative lookahead cuts through all this confusion: -``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression ``bat`` +``.*[.](?!bat$)[^.]*$`` + +The negative lookahead means: if the expression ``bat`` doesn't match at this point, try the rest of the pattern; if ``bat$`` does match, the whole pattern will fail. The trailing ``$`` is required to ensure that something like ``sample.batch``, where the extension only starts with