DFA查找

    2. 查找关键词

    1. 情况一:标准匹配,匹配到最短关键词,并跳过已经匹配的关键词
    1. 情况二:匹配到最短关键词,不跳过已经匹配的关键词
    1. // 【大】被匹配,最短匹配原则【大土豆】被跳过,【土豆继续被匹配】
    2. // 【刚出锅】被匹配,由于不跳过已经匹配的词,【出锅】被匹配
    3. matchAll = tree.matchAll(text, -1, true, false);
    1. 情况三:匹配到最长关键词,跳过已经匹配的关键词
    1. 情况四:匹配到最长关键词,不跳过已经匹配的关键词(最全关键词)
    1. // 匹配到【大】,由于到最长匹配,因此【大土豆】接着被匹配,由于不跳过已经匹配的关键词,土豆继续被匹配
    2. // 【刚出锅】被匹配,由于不跳过已经匹配的词,【出锅】被匹配
    3. matchAll = tree.matchAll(text, -1, true, true);

    针对特殊字符

    有时候,正文中的关键字常常包含特殊字符,比如:”〓关键☆字”,针对这种情况,Hutool提供了StopChar类,专门针对特殊字符做跳过处理,这个过程是在方法或matchAll方法执行的时候自动去掉特殊字符。