Регулярное выражение для получения параметризованного URL-адреса из полученного URL-адреса

#node.js

Вопрос:

Мы можем использовать api с вводом «1», и в ответ он может вернуть любое из приведенных ниже значений, которое снова является URL:

 https://www.example.com/1 https://www.example.com/1.json https://www.example.com/json1.json https://www.example.com/233  

Идея состоит в том, чтобы затем создать URL-адрес из него, чтобы мы могли позвонить выше для других значений, таких как от 1 до 10. Ожидаемый результат для вышеуказанного должен быть:

 https://www.example.com/%d https://www.example.com/%d.json https://www.example.com/json%d.json https://www.example.com/%d  

Я попробовал регулярное выражение , оно работало до тех пор, пока не сломалась последняя https://www.example.com/0001 функция использования, было исключено, https://www.example.com/000%d но оно появилось, https://www.example.com/%d поэтому я думаю, как я могу создать универсальное решение ?

Код, который я использую в настоящее время:

 function checkIfUniqueURL(url) {  console.log(url)  urlArr = url.split("/");  var last = urlArr[urlArr.length - 1];  if (last.includes(".")) {  var first = last.split(".")[0]  if (/^d $/.test(first)) {  console.log( url.substr(0, url.lastIndexOf("/")   1).concat(last.replace(/d /g, "%d")))  }  else {    console.log(url.substr(0, url.lastIndexOf("/")   1).concat(last.replace(/d /g, "%d")))  }  } else {  if (/^d $/.test(last)) {  console.log(url.substr(0, url.lastIndexOf("/")   1).concat(last.replace(/d /g, "%d")));  } else {  console.log(url)  }  } }  

Какая-нибудь помощь ?