![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск подстроки в строке . [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.