Пытаясь найти регулярное выражение для красивых URL

У меня есть такая структура сайта:

/docs/one_of_the_resources/one-of-the-resources.html
/docs/a_complete_different_resource/a-complete-different-resource.html

Я хочу избавиться от всех подпапок в URL и получить это:

/one-of-the-resources.html
/a-complete-different-resource.html

Подпапки не должны быть затронуты:

/docs/one_of_the_resources/assets/*

Имя папки всегда совпадает с html-файлом, просто штрихи меняются подчеркиванием и, конечно, суффикса нет.

Я использую grunt-contrib-rewrite и grunt-connect.

Не могу обернуть мою голову вокруг этого. Это вообще возможно?

1 ответ

Решение

Вы можете использовать отрицательный класс символов

/\/[^/]+$/
  • [^/]+ Совпадает с чем угодно, кроме /, Квантор + обеспечивает один или несколько символов.

  • $ Якоря регулярное выражение в конце строки.

Regex Demo

пример

string = "/docs/one_of_the_resources/one-of-the-resources.html";
console.log(string.match(/\/[^/]+$/)[0]);
// => one-of-the-resources.html
Другие вопросы по тегам