2015-01-03 3 views
1

Я хотел бы проверить URL-адрес шаблона. Это ссылкаРегулярное выражение внутри json

/search?name=john 

Теперь john может быть любым именем, так что это может быть любым жалом. Но часть /search?name= должна оставаться неизменной.

Я пробовал это регулярное выражение, и это не сработало для меня.

^([/search\\?name])=([a-z]+)$" 

ответ

1

Снять квадратные скобки [] вокруг строки /search\\?name. Скобки используются для определения классов символов. Выражение формы [abc] не соответствует строке abc, но только любой из символов a, b или c. Таким образом, регулярное выражение должно быть:

^(/search\\?name)=([a-z]+)$ 

Там также нет необходимости в скобках, если вы не незахватывающими в группах:

^/search\\?name=[a-z]+$ 
+0

'+ 1' Спасибо, что работали. Нужно несколько минут, чтобы принять его, между тем, я до сих пор не понимаю, почему '[/ search \\? Name]' не должен оцениваться как true. Разве это не справедливое выражение? –

+0

Выражение '[abc]' не соответствует строке 'abc'. Это будет соответствовать 'a', или' b' или 'c'_. Это выражение определяет набор символов, которые могут быть сопоставлены. См. Http://www.regular-expressions.info/charclass.html. Если вы используете Java, вот соответствующая [ссылка] (http://docs.oracle.com/javase/tutorial/essential/regex/char_classes.html) – manouti