超1500条多词术语的字符串索引匹配优化方案咨询
大术语列表的文本索引查找优化
我拥有一个包含1500+条术语的列表,这些术语可以是多词组合,例如"apple"、"apple banana"。需要在一段中等长度(约500-1000词)的输入文本中,查找这些术语的索引位置。
当前实现方案
TERMS = ['apple', 'apple banana'] def find_indices(description): pattern = re.compile(f"\b({'|'.join(TERMS)})\b") return [match.span() for match in re.finditer(pattern, description)] find_indices('apple pie') -> [(0, 5)]
现有顾虑
随着术语列表规模的扩大,正则表达式模式会变得异常庞大,请问是否存在更优的实现方式?
注:有一个高度相关的Stack Overflow问题,但其中的解决方案并不适用于我的场景。
内容的提问来源于stack exchange,提问作者YYH
相关产品推荐
相关产品推荐

