Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск подстроки в строке . [D7, Win2k]


ASDF234 ©   (2005-11-17 12:08:00) 

Может кто знает алгоритм или есть код делающий следующее:

Пример:
входная строка 123234
маска *32*
ответ Подходит.

Пример:
входная строка 123234
маска ?32*
ответ Не подходит.

Пример:
входная строка 23234
маска ?32*
ответ Подходит.

Здесь * - группа символов
        ? - один любой символ


Leonid Troyanovsky   (2005-11-18 12:49:00) [1]


> ASDF234   (17.11.05 23:35) [6]

> На сколько я понял MatchesMask
> и TMask используется под маски файловых типов?! Есть смысл


VCL Reference
TMask.Matches

Note: While the VCL uses TMask to check the whether file names specify valid directories, the Filename parameter does not need to be a file name. TMask can be used to check strings against any syntactically correct mask.

См. также

http://groups.google.com/group/fido7.ru.delphi/msg/bc939773874fa650

полезно посмотреть все обсуждение, бо в исходном есть неточность.

Ну, а на asm сам переложишь ;)

Кста, что значит "На предложение будут накладываться разные маски"?
Вместе, поочередно? Есть подозрение, что оптимальность произрастает
из этого места.

--
Regards, LVT.


ASDF234   (2005-11-17 23:35:00) [2]

>Sha ©
как работает pos - я в курсе, это не подходит. Писать надо. Не уверен что изобрету велосипед, который будет лучше предложенных.

>begin...end ©  и  ShiFT
(17.11.05 13:17) [4]
MatchesMask и TRegExpr что быстрее? На сколько я понял MatchesMask и TMask используется под маски файловых типов?! Есть смысл их проверять на работу с конструкциями *xxx.xxxx* ? А TRegExpr при беглом взгляде похоже на тяжолую дубину способную на многое при больших вычислиельных мощностях....

>ShiFT
TPerlRegEx  без 100 грам неразобраться - я правда уже выпил 150
ты бы хоть методы привел, а? Я бы очень тебе был признателен.

Нужна функция, желательно на asme, нашел в Qstrings, но дает ошибку при *asdf.as* . Она должна быть очень быстрой. На предложение будут накладываться разные маски в кол-ве эдак 500 штук (это пока) и таких предложений в секунду будет проходить не менее 20.
Желательно чтобы маски могли еще быть такие:

входная строка 123234
маска *?32* :-) И это тоже работало. В Qstrings *?32?* работает - но это немного не удобно.


Sha   (2005-11-17 15:34:00) [3]

Pos :)


begin...end   (2005-11-17 13:17:00) [4]

MatchesMask


ShiFT   (2005-11-17 13:16:00) [5]

TPerlRegEx


Digitman   (2005-11-17 12:34:00) [6]


> ASDF234


TRegExpr


Leonid Troyanovsky   (2005-11-17 12:24:00) [7]


> ASDF234   (17.11.05 12:08)  
> Может кто знает алгоритм или есть код делающий следующее:



TMask

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо