|
[Решенные]: Regex: Null Совпадение?
Я использую URL Regex особенностью Squid позволяющих сайтам через список Regex строки матча позволил доменов. В Regex фактически скопированы с наших предыдущих прокси решение и оно, как представляется, "просто работа". Но мы недавно обнаружили, что некоторые домены (вероятно, из-за виртуальных хостов или принимающей заголовка в зависимости от конфигурации, если это Apache или IIS, соответственно) провал, если они используются без префикса WWW в URL. Ниже приведен пример того, что иногда работает:
Код:
http://.*\.microsoft\.com/.*
В '.* \ ". до 'Microsoft \. ком' часть должна означать, любое количество любых символов (ноль или более), а затем на "." Я вижу ошибки с точки зрения '\'. Часть из Regex и планируют исправить это. Тем не менее, я не смог найти способ матч как 'www.microsoft.com' и 'microsoft.com ". Вот что я думаю будет работать:
Код:
http://[!.*|.*\.]microsoft\.com/.*
Я признаться время действительно плохо с Regex, поэтому, пожалуйста, не будьте слишком трудно мне, пожалуйста. Я просто ни разу не удалось "получить" 100%. Излишне говорить о том, что выше не работает, для меня вообще. Она совпадает ни 'microsoft.com', ни 'www.microsoft.com ". Я пробовал некоторые из них ограниченные испытания с "grep", чтобы попытаться найти адекватное решение. Но, что же я действительно пытался матч? Во-первых, я хочу себя в символ, но я не ищу 'microsoft.com ". Тогда я подумал, нуль? Но это, кажется, невозможно, поскольку оно совпадает не соответствуют действительности, поскольку на всех не существует символ существует. Я уверен, что кто-то, кто является специалистом в Regex бы взглянуть на это и представить нечто insanely просто. Мне очень не хочется делать это:
Код:
http://[.*\.microsoft\.com/.*|microsoft\.com/.*]
или что еще хуже, это:
Код:
http://.*\.microsoft\.com/.*
http://microsoft\.com/.*
Любые предложения? Спасибо заранее ...
Последний раз редактировалось deckard; на 06-05-2008 11:57 AM.. Основание: Получено решение этой проблемы.
|