2013-08-28 2 views
0
  1. , чтобы соответствовать URL, который 1 уровень глубокой
  2. и URL (х) уровней в глубину, но при определенном каталоге

Как достичь это в регулярном выражении?регулярное выражение, чтобы соответствовать любой URL, который 1 уровень глубокой

я увидел регулярное выражение решения от этого вопроса: Regular expression to match a URL with 6 or more levels

Но я не в состоянии генерировать рабочую один для моих 2 условий выше.

+0

вы имеете в виду «или» вместо «и», потому что URL-адрес является либо 1 уровня вложенности * или * х уровней в глубину - она ​​не может быть обоими. – Bohemian

ответ

1

Попробуйте это регулярное выражение:

^someserver.com/(\w+|specific(/\w+){n})$ 

Где n является x-1 из вашего вопроса


Если вам нужно отдельное регулярное выражение:

Для одного уровня:

^someserver.com/\w+$ 

Для уровней х при определенных:

^someserver.com/specific(/\w+){x-1}$ 
+0

спасибо, что не оба. Я создаю два отдельных правила. – bman

+0

См. Редактирование для отдельных регулярных выражений – Bohemian

+0

Я отредактировал его, чтобы разрешить расширения '' ^/[\ w \.] + $ '' – bman

0

что, если вы просто разделить его ..?

string url = "stackoverflow.com/questions"; 

if (url.Split('/').Length == 2) //check for one level 
{ 
    System.Diagnostics.Trace.WriteLine("One Level"); 
} 

if (url.Split('/')[0].ToLower() == "stackoverflow.com") //check for base 
{ 
    System.Diagnostics.Trace.WriteLine("Good base"); 
} 

может понадобиться для обработки HTTP: // хотя

Смежные вопросы