当前位置:网站首页>Mongo Fuzzy query, with Special Characters need to escape, to Query

Mongo Fuzzy query, with Special Characters need to escape, to Query

2022-06-22 04:34:00 12 singe de programme

mongdb Requête floue,Il y a aussi des symboles spéciaux dans le contenu à récupérer,Cause Impossible de récupérer les données,Pour obtenir l'effet de détection,Oui. Détection de caractères spéciaux dans le contenu pour l'évasion,Pour obtenir un effet de récupération

Un.、échapper aux caractères spéciaux réguliers Méthodes


    /** * échapper aux caractères spéciaux réguliers ($()*+.[]?\^{},|) * * @param keyword * @return */
    public static String escapeExprSpecialWord(String keyword) {
    
        String[] fbsArr = {
     "\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|" };
        for (String key : fbsArr) {
    
            if (keyword.contains(key)) {
    
                keyword = keyword.replace(key, "\\" + key);
            }
        }
        return keyword;
    }

2.、Application

        Criteria criteria = new Criteria();

        //Nom du projet
        if (!ObjectUtils.isEmpty(mixingStationProductionRequesJson.getFgcmc())) {
    
// criteria.and("fgcmc").regex(".*?" + mixingStationProductionRequesJson.getFgcmc() + ".*?");
            // Nom du projet ceinture moyenne (), Cause non détectable   Utilisez une barre oblique pour les parenthèses "\"Faire une évasion \(
            String name=escapeExprSpecialWord(mixingStationProductionRequesJson.getFgcmc());
            criteria.and("fgcmc").regex("^.*"+name+".*$");
        }
         Query query = Query.query(criteria);
         List<MixingStationRealDataVo> list=mongoTemplate.find(query,MixingStationRealDataVo.class);
原网站

版权声明
本文为[12 singe de programme]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206220431191424.html