¿Hay una manera de definir las abreviaturas personalizadas en expresiones regulares?
Tengo una expresión regular de la forma.
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):
...
Me gustaría reemplazar todas las secuencias de repetición (\$ \(
) con alguna taquigrafía personalizada "constante", que se vería así:
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):
...
¿Hay alguna manera de hacer esto con las expresiones regulares en sí mismas (es decir, no usar el formato de cadena de Python para sustituirlo)?\BEGIN
con\$\(
)?
Aclaración: La fuente de Python es puramente para el contexto y la ilustración. Estoy buscando una solución RE, que estaría disponible en algunos dialectos RE (tal vez no en Python), no en la solución específica para Python.