2012-04-04 5 views
1

Я хочу, чтобы то, что соответствует пути, такие, как те, в веб-URL без доменного имени, или директории Linux, то/как/это/и/позволяет-черточкиRegex для имени пути

Таким образом, в другом слове , допустимыми символами являются числа, алфавиты, тире и косая черта. Первым и последним символом не может быть ни черта, ни черта.

Лучшее, что я могу получить это

^[a-z0-9]+[a-z0-9(\/)(-)]*[a-z0-9]+$ 

, но он не в

a/b-c/d 
+0

'^ [а-z0-9] + [а-z0-9/-] * [а-z0-9] + $' Почему вы поставить тире в скобках? – turbanoff

+0

Вы также можете использовать '^ \ w [\ w \/\ -] * \ w $'. Конечно, это также означает, что ваш путь должен содержать не менее 2 символов. – gmalette

+0

Не разрешать переднюю косую черту в начале или конце кажется мне странной, поскольку первая всегда действительна, а последняя - если вы путь - это каталог. –

ответ

2

Вам нужно бежать ваш - тоже. Пожалуйста, попробуйте следующее

^[a-z0-9]+[a-z0-9(\/)(\-)]*[a-z0-9]+$