Подтвердить что ты не робот

Python Regex мгновенно заменяет группы

Есть ли способ напрямую заменить все группы в синтаксисе regex.

Обычный способ:

re.match(r"(?:aaa)(_bbb)", string1).group(1)

Но я хочу добиться чего-то вроде этого:

re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)")

Поэтому я просто хочу создать новую строку мгновенно, если это возможно, вызвав группы, которые только что поймали Regex.

4b9b3361

Ответ 1

Посмотрите re.sub:

result = re.sub(r"(\d.*?)\s(\d.*?)", r"\1 \2", string1)

Это функция замены (regex) замены Python. Сменная строка может быть заполнена так называемыми обратными ссылками (обратная косая черта, номер группы), которые заменяются на то, что соответствовало группам. Группы считаются такими же, как функцией group(...), т.е. начиная с 1, слева направо, открывая круглые скобки.