我有一个a-z*形式的正则表达式列表(例如,您的*)。我需要从正则表达式列表中查找从正则文本文件读取的单词的可能匹配项。我可以对每个列表项使用Pattern类,然后使用matcher将单词与列表中的每个成员进行匹配,但这个过程似乎很耗时。正则表达式列表很大(大约2500个表达式),我需要匹配的单词数量也很大(以百万为单位),所以我需要一些快速的东西-它应该是Java语言。有没有更好的方法从正则表达式列表中搜索单词的正则表达式匹配?
发布于 2015-06-10 01:17:47
如果您所有的表达式都采用foo*的形式,那么您可以不将所有模式匹配尝试替换为对word.startsWith(pattern)的调用吗?(首先修剪模式中的'*‘,如果是实际上包含在模式列表中。)或者-如果'*‘是可选的-根据模式选择word.equals(pattern)?
发布于 2015-11-06 15:20:25
我使用Trie树解决了这个问题。-- Farig Sadeque
https://stackoverflow.com/questions/30738186
复制相似问题