У меня проблемы с поиском регулярного выражения Python для URL-адресов Django. У меня есть определенные критерии, но я не могу придумать волшебную формулу. В конце я могу определить, какая страница является страницей CMS, и передать функции django псевдоним URL, который она должна загрузить.
Вот несколько примеров допустимых строк:
- о-нас
- контакт-нам
- Термины и-условия
- Информация / узнать-более-PG2
- Информация / мой-пример-URL
Критерий:
- Должно быть все в нижнем регистре
- Должен содержать тире "-"
- Может содержать цифры, буквы и косую черту "/"
- Должно быть длиной не менее 4 символов и не более 30 символов
- Не может содержать специальные символы
- Не может содержать слова:
Примеры, которые не должны совпадать:
- О нас (имеет заглавные буквы)
- контакт (без тире)
- pg (менее 4 символов)
- img / bg.gif (содержит ".gif")
- files / my-styles.css (содержит ".css")
- my-page @ (имеет символ, отличный от букв, цифр, тире или косой черты)
Я знаю, что это даже еще не близко, но это насколько я получил:
(?P<alias>([a-z/-]{4,30}))
Я прошу прощения за большие требования, но просто не могу обернуть голову вокруг этого регулярного выражения.
Спасибо!