Uh oh!
There was an error while loading. Please reload this page.
gh-133306: Support \z as a synonym for \Z in regular expressions - #133314
Conversation
sethmlarson
left a comment
There was a problem hiding this comment.
LGTM, thanks Serhiy. I only had one thought on this PR:
| r"\W": (IN, [(CATEGORY, CATEGORY_NOT_WORD)]), | ||
| r"\Z": (AT, AT_END_STRING), # end of string | ||
| r"\z": (AT, AT_END_STRING), # end of string | ||
| r"\Z": (AT, AT_END_STRING), # end of string (deprecated) |
There was a problem hiding this comment.
Should we use "deprecated" language here if we're not deprecating \Z?
There was a problem hiding this comment.
What words do you suggest? "legacy"? "obsolete"?
Due to its subtle difference from other common implementations, it is very likely that \Z will be deprecated and removed in future, when it will be safe. It is kept for compatibility with older Python versions.
hugovk
left a comment
There was a problem hiding this comment.
Thank you for the PR! Please also run the buildbots before merge.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
serhiy-storchaka
commented
May 3, 2025
Thank you for review. This feature is not platform-depended, so no need to spend the time and the resources on running the buildbots. |
pythonGH-133314) \Z was an error inherited from PCRE 0.95. It was fixed in PCRE 2.0. In other engines, \Z means not “anchor at string end”, but “anchor before optional newline at string end”. \z means “anchor at string end” in most RE engines.
📚 Documentation preview 📚: https://cpython-previews--133314.org.readthedocs.build/