Сравнение строки с маской
Иногда возникает необходимость сравнить строку с каким-то шаблоном, например соответствует ли домен (http://delphist.ru) маске доменов в зоне .ru? Подобную задачу можно решить многими способами, начиная от того, что в ручную проверять посимвольно, заканчивая преминением регулярных выражений.
Но самый простой способ предоставляет сама Delphi:
uses
Masks;
var
lStr: string;
begin
lStr := 'http://delphist.ru';
if MatchesMask(lStr, 'http://*.ru') then
begin
// Тут обработка
end;
end;
В маске можно использовать * (любое количество символов) и ? (один символ).
Да, данный способ не сравнится с регулярками, но это и не требуется для подобных задач.
P.S.: я вообще противник того, чтобы пременять регулярные выражение везде без разбора. Они хороши, когда надо обработать текст по каким-то сложным критериям, но в других случаях, по моему мнению, необходимо обходится стандартными средствами, без преминения сторонних компонентов и классов, а так же без дополнительной нагрузки к программе.
+0