Я имею регулярное выражение вида
def parse(self, format_string):
for m in re.finditer(
r"""(?: \$ \( ( [^)]+ ) \) ) # the field access specifier
| (
(?:
\n | . (?= \$ \( ) # any one single character before the '$('
)
| (?:
\n | . (?! \$ \( ) # any one single character, except the one before the '$('
)*
)""",
format_string,
re.VERBOSE):
...
Я хотел бы заменить все повторяющиеся последовательности (\$ \(
) на некоторую пользовательскую сокращенную "константу", которая будет выглядеть так:
def parse(self, format_string):
re.<something>('\BEGIN = \$\(')
for m in re.finditer(
r"""(?: \BEGIN ( [^)]+ ) \) ) # the field access specifier
| (
(?:
\n | . (?= \BEGIN ) # any one single character before the '$('
)
| (?:
\n | . (?! \BEGIN ) # any one single character, except the one before the '$('
)*
)""",
format_string,
re.VERBOSE):
...
Есть ли способ сделать это с помощью самих регулярных выражений (т.е. не использовать форматирование строк Python для замены \BEGIN
на \$\(
)?
Уточнение: источник Python предназначен исключительно для контекста и иллюстрации. Я ищу решение RE, которое будет доступно на каком-то диалекте RE (возможно, не на Python), а не на решении для Python.