
Implémentation d'un opérateur 'LIKE' de type SQL en Java
En Java, implémentation d'un comparateur avec la même sémantique que le 'LIKE' SQL L'opérateur ' peut être obtenu à l'aide d'expressions régulières. Les expressions régulières constituent un moyen puissant de faire correspondre des modèles de caractères.
Création d'un comparateur à l'aide d'expressions régulières
Pour créer un comparateur qui se comporte comme l'opérateur « LIKE », nous pouvons utilisez la syntaxe suivante :
1 2 3 4 5 | public static boolean like(String str, String pattern) {
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(str);
return m.matches();
}
|
Copier après la connexion
Voici comment fonctionnent les expressions régulières pour votre spécifié exemples :
- %ital% correspond à n'importe quelle chaîne contenant "ital" n'importe où.
- %gi?a% correspond à n'importe quelle chaîne contenant "gi" suivi d'un seul caractère, suivi par "a", n'importe où.
- digi% correspond à n'importe quelle chaîne commençant par "digi".
Évaluation Exemples
En utilisant la méthode like, vous pouvez évaluer vos conditions spécifiées comme suit :
- like("digital", "%ital%") est évalué à true car " digital" contient "ital".
- like("digital", "%gi?a%") est évalué à true car "digital" contient "gia".
- like("digital", "digi%") est évalué à vrai car "digital" commence par "digi".
- like("digital", "�m% ") est évalué comme faux car "digital" ne contient pas "cam".
- like("digital", "tal%") est évalué comme faux car "digital" ne commence pas par "tal".
Caractères et points correspondants
Pour les expressions régulières :
- .* correspond à n'importe quel nombre de caractères. .
- . correspond à un seul caractère.
- Pour faire correspondre un point réel, échappez-le comme ..
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!