2013-12-23 3 views
-2

Мне нужно проверить URL-адрес, чтобы что-то определить.Условное регулярное выражение для проверки URL-адреса

URL-адрес может быть двух типов:

/anything/flows/anything/something.xhtml 
    /anything/solutions/dev/something.xhtml 

EDIT

Выше приведены два URL модели в моем приложении. Я получаю текущий URL-адрес из запроса и пытаюсь его проверить по шаблону, а затем сопоставить его. Если он соответствует шаблону, мне нужно установить несколько переменных.

В настоящее время, я использую шаблон, как это проверить второй тип URL

public static final Pattern CHECK_PATTERN = Pattern.compile("/([^)]+)/solutions/(dev|code)/([^)]+)"); 

А чтобы проверить первый образец, я использовал, чтобы разделить URL и использовать .contains, чтобы проверить, URL содержит «потоки», а затем выполняет необходимые шаги.

Я искал одно регулярное выражение, которое может использоваться для проверки обоих типов URL-адресов и, следовательно, уменьшения условий if. Как условные регулярные выражения помогают в достижении этого?

+1

Вы можете начать и рассказать нам, что вы пробовали, в каком контексте вы хотите проверить это и что вы пытаетесь достичь. – Thomas

ответ

0

Пожалуйста, проверьте это регулярное выражение для случаев, о которых вы упомянули.
/anything/((flows/[a-zA-Z]+)|(solutions/dev))/[a-zA-z]+.xhtml
Он должен работать нормально.

+0

Спасибо, тонна, что отлично работает. – SnS

+0

Мое удовольствие, добро пожаловать – Alok

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