Как с помощью регулярного выражения найти вторую папку с конца в конкретном формате?

Рейтинг: 0Ответов: 1Опубликовано: 30.06.2023

Есть несколько ссылок:

https://domain/dir1/dir2/dir3/ag/lp
https://domain/dir1/dir2/dir2/dir4/en/lp/
https://domain/dir1/dir2/hi_en/lp
https://domain/dir1/dir2/cz/lp/
https://domain/dir1/dir2/dir3/dir4/lp

Нужно получить значение второй папки с конца, если ее название удовлетворяет следующим условиям: папка имеет название из двух символов (en, cz и т.п.), или папка имеет название из 5 символов - 2 символа, далее нижнее подчеркивание, далее еще 2 символа (hi_en).

Также сами ссылки могут заканчиваться как слешем, так и без него.

Как для этого написать регулярное выражение?

Ответы

▲ 0

console.log(`https://domain/dir1/dir2/dir3/ag/lp
https://domain/dir1/dir2/dir2/dir4/en/lp/
https://domain/dir1/dir2/hi_en/lp
https://domain/dir1/dir2/cz/lp/
https://domain/dir1/dir2/dir3/dir4/lp`.match(/(?<=\/)\w\w(_\w\w)?(?=\/\w+\/?\r?\n.*$)/g))

Тьфу, кажется, вопрос неправильно понял...

console.log(`https://domain/dir1/dir2/dir3/ag/lp
https://domain/dir1/dir2/dir2/dir4/en/lp/
https://domain/dir1/dir2/hi_en/lp
https://domain/dir1/dir2/cz/lp/
https://domain/dir1/dir2/dir3/dir4/lp`.match(/(?<=\/)\w\w(_\w\w)?(?=\/\w+\/?(\r?\n|$))/g))