Страницы

Поиск по вопросам

среда, 22 января 2020 г.

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

#python #регулярные_выражения #python_3x #django


Здравствуйте!
Есть следуюеще регулярное выражение:

^category/(?P[\w-]+(/[\w-]+)*)_(?P[\w-]+)/(?P[\w]+)(-(?P[\w-]+))/$


Работает оно отлично. Результат получается таким:

/category/categoryone/categorytwo_123/filtercode-filternameone-filternametwo/


И стоит задача сделать так, чтобы была возможность мультиплицировать последний (
после /)  участок выражения:

/(?P[\w]+)(-(?P[\w-]+))


чтобы URL получился таким:

/category/categoryone/categorytwo_123/filtercodeone-filternameone-filternametwo/filtercodetwo-filternamethree-filternamefour/

    


Ответы

Ответ 1



/category/categoryone/categorytwo_123/filtercode-filternameone-filternametwo/ я поправил немного ваше выражение ^/(?P[\w-]+(/[\w-]+)*)_(?P[\w-]+)/(?P[\w]+)(-(?P[\w-]+))/$ Так у меня находит. По вопросу. ^/(?P[\w-]+(/[\w-]+)*)_(?P[\w-]+)/((?P[\w]+)(-(?P[\w/-]+)))*/$ находит /category/categoryone/categorytwo_123/filtercode-filternameone-filternametwo/filtercode-filternameone-filternametwo/ Измененная часть ((?P[\w]+)(-(?P[\w/-]+)))* Результат upd

Комментариев нет:

Отправить комментарий