¿Hay alguna forma de reemplazar directamente todos los grupos usando la sintaxis de expresiones regulares?
La forma normal:
re.match(r"(?:aaa)(_bbb)", string1).group(1)
Pero quiero lograr algo como esto:
re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")
Quiero construir la nueva cadena instantáneamente a partir de los grupos que Regex acaba de capturar.
python
regex
regex-group
mc_kaiser
fuente
fuente
(r(r))r((r)((r)r))
?1(r2(r))r3(4(r)5(6(r)r))
.La respuesta aceptada es perfecta. Yo agregaría que la referencia de grupo probablemente se logra mejor usando esta sintaxis:
para la cadena de reemplazo. De esta manera, evita las limitaciones de sintaxis en las que un grupo puede ir seguido de un dígito. Nuevamente, todo esto está presente en el documento, nada nuevo, solo que a veces es difícil de detectar a primera vista.
fuente