Regex, чтобы найти закодированную строку в URL в Java - PullRequest
2 голосов
/ 06 апреля 2011

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

пример -
www.test.com/?t=%E3%83%81%E3%82%B7% E3% 83% BA% E3% 83% B3% E3% 83% 9D% E3% 83% BC% E3% 83% AB

Заранее спасибо

Ответы [ 4 ]

2 голосов
/ 06 апреля 2011

Вы можете просто использовать URLDecoder , чтобы проверить, содержит ли URL закодированные части или нет, вместо создания собственного регулярного выражения:

class UrlTest {
        public static void main(String[] args) throws java.io.UnsupportedEncodingException {
                String url = "http://example.com/%20foo";

                if(url.equals(java.net.URLDecoder.decode(url, "UTF-8"))) {
                        System.out.println("URL didn't contain encoded parts.");
                } else {
                        System.out.println("URL contained encoded parts.");                                                                                                                                
                }                                                                                                                                                                                          
        }                                                                                                                                                                                                  
}
0 голосов
/ 25 октября 2011

// регулярное выражение для попытки использовать любую кодировку URL или .. для обхода каталога

. *% [0-9a-fA-F] + | \. \.

0 голосов
/ 06 апреля 2011

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

0 голосов
/ 06 апреля 2011

Просто найдите '%', за которым следует [0-F] - вы узнаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...