#regex #nginx #url #server
#регулярное выражение #nginx #url #сервер
Вопрос:
В этом контексте я хотел бы получить только части URL-адресов «user1», «user2».
site.com/user1/
site.com/user2/
site.com/user2/about
site.com/user2/contact
Когда я пытаюсь сделать что-то подобное, он получает весь URL.
location ~* ^/(.*)$ {
add_header X-username $1
# configuration
}
Итак, как я могу изменить регулярное выражение, чтобы получить только первую часть URL-адреса?
Комментарии:
1. Попробуйте:
^/([^/] )/
2. Похоже, это работает. Спасибо.
Ответ №1:
Используйте
^/([^/] )
Смотрите доказательство.
Объяснение
--------------------------------------------------------------------------------
^ the beginning of the string
--------------------------------------------------------------------------------
/ '/'
--------------------------------------------------------------------------------
( group and capture to 1:
--------------------------------------------------------------------------------
[^/] any character except: '/' (1 or more
times (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of 1