Я пытаюсь проверить системный путь. Этот путь действителен, если он начинается с нескольких каталогов и не содержит двух точек друг друга.
#valid path
/home/user/somedir/somedir_2
#evil path
/home/user/../somedir_2/
Я знаю, как проверить две точки в пути:
\.\. or [\.]{2}
Но я действительно хочу сделать что-то подобное:
/home/user/<match everything but two dots>/somedir_2/
так что «соответствовать всем, кроме двух точек» может быть все, кроме двух точек.
Я пытался:
/home/user/[^\.{2}]*/somedir_2/
но безуспешно.