# Карманы по умолчанию в методе replace в регулярках JavaScript

В методе replace, помимо карманов с вашими номерами, всегда доступны также стандартные карманы: `$&` - всё найденное совпадение, `$`` и `$'` - часть строки до и после совпадения. Давайте посмотрим работу с ними на примерах.

## Пример

Давайте найдем все числа и обернем их в круглые скобки:

`let str = '1 23 456'; let res = str.replace(/\d+/g, '($&)');`

В результате в переменную запишется следующее:

`'(1) (23) (456)'`

## Пример

Давайте найдем символ @ и заменим его на то, что стоит перед ним, собаку, и то, что стоит после него. Все это запишем в круглых скобках:

`let str = '123@456'; let res = str.replace(/@/g, "($`@$')");`

В результате в переменную запишется следующее:

`'123(123@456)456'`

## Пример

Пусть мы хотим найти доллар и обернуть его в кавычки ````. В этом случае, чтобы `$`` не было воспринято как команда, доллар нужно удвоить:

`let str = 'aaa $ bbb'; let res = str.replace(/\$/g, '`$$`');`

В результате в переменную запишется следующее:

`'aaa `$` bbb'`

## Практические задачи

Дана строка:

`let str = 'a1b2c3';`

Напишите регулярку, которая рядом с каждой цифрой напишет такую же.

Дана строка:

`let str = 'sss site.ru zzz site.com kkk';`

Замените домены на ссылки вида:

`<a href="http://site.ru">site.ru</a>`
←→
↑
en ru