http://www-igm.univ-mlv.fr/~lecroq/string/node14.html

аюсь построить эффективный алгоритм сопоставления строк. Это будет выполняться в среде большого объема, поэтому производительность имеет решающее значение.

Вот мои требования:

Для данного доменного имени, например, www.example.com, определите, соответствует ли оно имени в списке записей.Записи могут быть абсолютными совпадениями, т.е. www.example.com.Записи могут включать символы подстановки, т.е. * .example.com.Подстановочные знаки совпадают с наиболее определенного уровня и выше. Например, * .example.com будет соответствовать www.example.com, example.com и sub.www.example.com.Записи с подстановочными знаками не внедряются, то есть sub. *. Example.com не будет записью.

Язык / среда: C # (.Net Framework 3.5)

Я рассмотрел возможность разделения записей (и поиска домена) на массивы, изменения порядка, а затем итерации по массивам. Хотя точный, он чувствует себя медленно.

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

Мой вопрос: каков эффективный способ найти, если строка в форме доменного имени соответствует какой-либо строке в списке строк, учитывая приведенное выше описание?

Ответы на вопрос(14)

Ваш ответ на вопрос