@Gutnov

Как расшифровать данное регулярное выражение?

Может кто-нибудь на словах расшифровать данное выражение?
var numb = 10572,
pay = 11073;
rez = Math.round(numb*pay*2.1/100);
var outrez = (rez+'').replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');

Эту часть я понял - (\d)(?=(\d\d\d)+ число после которого идет число из 3 символов
А вот дальше не понятно, особенно это - ([^\d]|$))
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
var outrez = (rez+'').replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');

(\d) - цифра в группе
(?= - начало второй группы с look ahead
(\d\d\d)+ три цифры, возможно несколько раз подряд
([^\d]|$) - не цифра или конец строки
) - конец второй группы
$1 -заменяем на цифру из первой группы
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
это какая то КРИВАЯ сортировка по номеру телефона
зы
просто загугли
"regex+номер телефона"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы