Допустим имею такой URL:
ptc-serv://regex101.com//path//post?p="z//"
...в конце ?p="z//"
Как на JS заменить двойные слеши(на один /) не затрагивая символы после ? и #,
и соответственно первые два после протокола http://.
Пример https://regex101.com/r/vnRU0Z/1
UPD - поправлю вопрос. Надо чтоб осталось:
ptc-serv://regex101.com/path/post?p="z//"
Если в адресе кроме протокола двоеточий перед слешами нет (по крайней мере до # и ?):
console.log(
'ptc-serv://regex101.com//path//post?p="z//"'.replace(/(:\/\/|[#?].*)|(\/)\//g, "$1$2")
)
console.log(
'ptc-serv://regex101.com//path//post?p="z//"'
.replace(/(:\/\/)([^#?]*)/, (m,l,u) => l + u.replace(/\/\//g, "/"))
)
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости