About Regex Named Groups

When you replace a complex regular expression with references to matched groups, consider using named groups. That works as self-explaining documentation of your regex patterns.

1
2
3
4
5
6
7
import re

original_path = re.sub(
    r"/__CACHE__/(?P<original>.+?)_xs\.(?P<ext>\w+)$",
    r"/\g<original>.\g<ext>",
    version_path,
)

Tips and Tricks Programming Python 3 Regular Expressions