Вход

Просмотр полной версии : Регулярное выражение для URL


firep91613
29.03.2024, 12:44
Подскажите регулярку, чтобы отрезать часть урла:

Из - https://site.com/path/file.php?id=1&param=
Нужно - /path/file.php?id=1&param=

Я сделал так: (?=\.\w+?\/)(.+). Но исключить .com у меня не получается.

Nexus
29.03.2024, 13:30
var url = 'https://site.com/path/file.php?id=1&param=';

alert([
url.replace(/^https?:\/\/[^\/]+(\/.*)/, '$1'),
url.replace(/^https?:\/\/[^\/]+/, ''),// или так
]);

Alexandroppolus
29.03.2024, 14:28
var url = new URL('https://site.com/path/file.php?id=1&param=');

alert(url.pathname + url.search);

rgl
29.03.2024, 15:24
А можно и без регулярки

var url = 'https://site.com/path/file.php?id=1&param=';
alert( url.substring( url.indexOf("/",8) ) );

firep91613
30.03.2024, 11:30
Дико извиняюсь, ввел в заблуждение.

Нужно найти /path/file.php?id=1&param= и заменить на пустую строку. Ну то есть должно остаться https://site.com.

Нужна именно регулярка.

Nexus
30.03.2024, 12:22
var url = 'https://site.com/path/file.php?id=1&param=';

alert(
url.replace(/^(https?:\/\/[^\/]+).*/, '$1')
);

firep91613
30.03.2024, 19:51
Nexus,
благодарю.