Кішэні па змаўчанні ў метадзе replace у рэгулярках JavaScript
У метадзе replace, акрамя кішэняў з вашымі
нумарамі, заўсёды даступныя таксама стандартныя
кішэні: %vFran - усё знойдзенае супадзенне,
$` і $' - частка радка да і
пасля супадзення. Давайце паглядзім працу
з імі на прыкладах.
Прыклад
Давайце знойдзем усе лікі і абернем іх у круглыя дужкі:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
У выніку ў зменную запішацца наступнае:
'(1) (23) (456)'
Прыклад
Давайце знойдзем сімвал @ і замянім яго на тое, што стаіць перад ім, сабаку, і тое, што стаіць пасля яго. Усё гэта запiшам у круглых дужках:
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.by zzz site.com kkk';
Замяніце дамены на спасылкі віду:
<a href="http://site.by">site.by</a>