#regex #query-string
#регулярное выражение #запрос-строка
Вопрос:
Может ли кто-нибудь дать мне регулярное выражение для проверки URL-адреса с помощью строки запроса с 2 параметрами
http://www.example.com?pid=3amp;sid=4
Я хочу проверить, соответствует ли ввод указанному выше URL с точными параметрами, как мне написать регулярное выражение для этого
Заранее спасибо!
Комментарии:
1. Просто сравнить две строки? Зачем вам нужно регулярное выражение для точного соответствия?
Ответ №1:
^(http://)?(www.)?[0-9A-z] .com?pid=(?<pid>d )amp;sid=(?<sid>d )$
Комментарии:
1. Это не соответствовало бы URL, если бы у него была косая черта в конце, т. Е.
http://www.abc.com/?pid=3amp;sid=4
, и не совпадало быhttps
. Не уверен, что это требования.2. @Jeff для https и завершающей косой черты:
^(https?://)?(www.)?[0-9A-z] .com/??pid=(?<pid>d )amp;sid=(?<sid>d )$
3. Спасибо за ответ, моя фактическая сеть требований abc.com/test/default.aspx?tid=1amp;sid=2 — здесь значения параметров являются точными числами — поэтому я изменил приведенное выше регулярное выражение на «^ (http: //)? (www .)? [0-9A-z] [0-9A-z] .com ?tid = 1 amp; sid = 2 $» — но это не сработало, можете ли вы сообщить мне исправления..
4.
^(https?://)?(www.)?[0-9A-z] .com/[0-9A-z] /[0-9A-z] .aspx?pid=(?<pid>d )amp;sid=(?<sid>d )$
будет соответствоватьabc.com/test/default.aspx?pid=1amp;sid=2
Ответ №2:
^https?://(www.)?((?!-)[a-z0-9-] (?<!-).) w{2,6}/w /(default.aspx)??pid=d amp;sid=d $
Будет соответствовать:
http://www.domain.tld/directory/?pid=123amp;sid=123
http://www.domain.tld/directory/default.aspx?pid=123amp;sid=123
http://www.sub-domain.domain.tld/directory/?pid=123amp;sid=123
http://www.sub-domain.domain.tld/directory/default.aspx?pid=123amp;sid=123
а также URL-адреса без www.
и URL-адреса с https в качестве протокола.
Ответ №3:
Предполагая, что pid и sid являются статическими.
pid=(.*)amp;sid=(.*)