Maison >base de données >tutoriel mysql >Comment puis-je implémenter un opérateur SQL LIKE à l'aide d'expressions régulières en Java ?

Comment puis-je implémenter un opérateur SQL LIKE à l'aide d'expressions régulières en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-24 10:07:45309parcourir

How Can I Implement a SQL LIKE Operator Using Regular Expressions in Java?

Implémentation d'un opérateur LIKE de style SQL en Java

L'opérateur LIKE de SQL est un outil puissant pour la correspondance de modèles dans les requêtes. Il permet des recherches flexibles basées sur un modèle de chaîne donné. Pour reproduire cette fonctionnalité en Java, on peut exploiter les expressions régulières.

Considérons l'exemple suivant :

myComparator.like("digital","%ital%");
myComparator.like("digital","%gi?a%");
myComparator.like("digital","digi%");

Celles-ci doivent être évaluées comme vraies car le texte correspond ou correspond partiellement aux modèles donnés. À l'inverse, ce qui suit devrait être évalué comme faux :

myComparator.like("digital","%cam%");
myComparator.like("digital","tal%");

Pour implémenter un tel comparateur à l'aide d'expressions régulières, nous pouvons suivre les règles ci-dessous :

  • Le caractère générique .* correspondra à n'importe quel séquence de caractères.
  • Le ? le caractère générique correspondra à n'importe quel caractère.
  • Pour échapper à un point littéral (.), utilisez ..

Par exemple, pour vérifier si « numérique » correspond au modèle « %ital% ", on peut utiliser :

"digital".matches(".*ital.*");

De même, on peut utiliser .*gi.a.* et digi.* pour les autres cas vrais. Pour les cas faux, on peut utiliser �m% et tal%.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn