Вече сигурно сте забелязали, че регулярните изрази имат доста стегнат запис, макар че не са чак толкова кошмарни за разгадаване. РИ със средна сложност могат да се превърнат в натрупвания от обратно наклонени черти, скоби и метасимволи, което ще ги направи трудни за четене и разбиране.
За такива РИ може да помогне указването на флага re.VERBOSE по време на
компилацията на регулярния израз. Той позволява да форматирате по-ясно
регулярния израз.
Флагът re.VERBOSE има няколко действия. Празното пространство в
регулярния израз, което не е в рамките на символен клас, се
пренебрегва. Това означава, че израз като dog | cat е еквивалентен на
по-малко четимия dog|cat, но [a b] все още ще пасва със
символите "a", "b", или интервал. В допълнение към това,
можете да слагате и коментари вътре в един РИ; коментарите започват от символа
"#" и се простират до края на реда. Това позволява РИ да се форматират
по-спретнато, когато се използват със символни низове, заобиколени от тройни
кавички:
pat = re.compile(r"""
\s* # Пропускаме празното пространство в началото
(?P<header>[^:]+) # Име на заглавната част
\s* : # Празно пространство и двоеточие
(?P<value>.*?) # Стойност на заглавната част -- *? се използва
# за да се пропусне празното пространство в края
\s*$ # Празно пространство до края на реда
""", re.VERBOSE)
pat = re.compile(r"\s*(?P<header>[^:]+)\s*:(?P<value>.*?)\s*$")