Показать сообщение отдельно
  #12 (permalink)  
Старый 01.03.2021, 11:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Янковиц,
<script>
const fun = str => {
let f = a => /\{[^\s]+\}/.test(a);
let r = a => new RegExp(a.slice(2,-2));
str = str.match(/(\{[^\s]+\})|(\+)|([()])|(.)|(\s+)/g);
str = str.map(a => a === '0' ? /\d/ : f(a) ? r(a) :  a);
return str
}
let reg =['{/^[1-6]\d{0,5}$/}', '+1({/[1-9]/}00) 000 000{/[1-9]/}','000.000,000a000'];
document.write(reg.map(fun).join('<br>'))
</script>
Ответить с цитированием