Кармани по подразбиране в метода replace в регулярни изрази в JavaScript
В метода replace, освен кармани с вашите
номера, винаги са достъпни и стандартни
кармани: %vFran - цялото намерено съвпадение,
и - част от низа преди и
след съвпадението. Нека да разгледаме работата
с тях с примери.
Пример
Нека да намерим всички числа и да ги обградим с кръгли скоби:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
В резултат в променливата ще се запише следното:
'(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>