我想匹配像
Colibri这样的文件名.我试图通过正则表达式来解决它.
在Colibri中搜索的工作原理是,您可以在文件名中键入按顺序排列的字符,并在文件名中按顺序查找所有具有这些字符的文件.例如,对于“ab”,它找到“cabal”,“ab”和“achab”.
简单插入.*之间的字母有效(所以搜索字符串“ab”变成正则表达式.* a.* b.*),但我想在大量文件上进行.
到目前为止,我有O(N * ???),其中N是文件名的数量和???最好是线性复杂度(我假设我的语言使用NFA).我不太关心空间复杂性.我应该选择哪些数据结构或算法来提高效率(时间复杂度)?