Используйте регулярное выражение для сопоставления URL до последнего слеша - PullRequest
1 голос
/ 27 апреля 2020

Попытка извлечь значение из:

<img src="https://www.google.com/one/two/three/file.png"/>"https://www.google.com/one/file.jpg"

в:

"https://www.google.com/one/two/three/" "https://www.google.com/one/"

Я в основном хочу захватить все в базовом URL до последнего форварда sla sh.

Я пытался использовать /https://([-a-zA-Z0-9()@:%_\+.~#?&//=]*)?/, который захватывает весь URL, но я не могу понять как остановить сопоставление в последнем '/' URL в файле html

Ответы [ 2 ]

1 голос
/ 27 апреля 2020

Если вы уверены в формате, вы можете использовать:

https?:\/\/[^/"]+([^/"]+\/)+

Где

  • https?:\/\/[^/"]+ соответствует https:// и все до первого / и
  • ([^/"]+\/)+ соответствует одному или нескольким экземплярам abc/

См. также: https://regex101.com/r/6ohuWP/1

1 голос
/ 27 апреля 2020

Попробуйте метод split (), это значительно упростит вашу задачу

function str(str_url){
 var arr = str_url.split('/');   //splits url at every '/'
 arr.pop();    //this pops the last term in url
 str_url = arr.join('/');    //finally joins everything 
 return str_url;
}

Подробнее об этом можно узнать на MDN web docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...