В Node.js сервере нужно преобразовать URL-адреса с помощью JavaScript следующим образом:Условно замена строки с использованием регулярных выражений
Пример 1:
hostA/blah/dir1/name/id.js?a=b --> name.hostC/dir2.js?guid=id&a=b
Пример 2:
hostB/dir1/name/id.js --> name.hostC/dir2.js?guid=id
Преобразование выполняется с помощью string.replace
с использованием регулярных выражений, подробно описанных в файле конфигурации.
До сих пор у меня есть:
url.replace(/.*\\/dir1\\/(.*)\\/\\(d{2})\\.js?:(?=\?)(.*)/, "$1.hostC\/dir2.js?guid=$2");
замещающая строка определяет ?guid=id
. Как изменить выражение или заменяющую строку так, чтобы &originalQueryString
(отметить амперсанд) будет добавлен в случае примера 1, и ничего не добавлено в случае примера 2?
Is [this] (https://regex101.com/r/fJ7oW9/1) что вы ищете? –
@ThomasAyoub В первом тестовом случае ему нужно изменить второй '?' На '&' (отсюда и трудность). – 4castle