La fonction REGEXP_LIKE() dans MySQL est utilisée pour la correspondance de modèles. Il compare si les chaînes données correspondent ou non à une expression régulière . Il renvoie 1 si les chaînes correspondent à l'expression régulière et renvoie 0 si aucune correspondance n'est trouvée.
Syntaxe
Ce qui suit est une syntaxe de base pour utiliser cette fonction dans MySQL :
REGEXP_LIKE (expression, pattern [, match_type])
Paramètre Explication
L'explication des paramètres de la fonction REGEXP_LIKE() est :
expression: Il s'agit d'une chaîne d'entrée sur laquelle nous effectuons une recherche de correspondance avec l'expression régulière.
modèle: Il représente l'expression régulière pour laquelle nous testons la chaîne.
Type de match: C'est une chaîne qui nous permet d'affiner l'expression régulière. Il utilise les caractères possibles suivants pour effectuer la correspondance.
Voyons comment nous pouvons utiliser cette fonction dans MySQL avec divers exemples.
Exemple
L'instruction suivante explique l'exemple de base de la fonction REGEXP_LIKE dans MySQL.
mysql> SELECT REGEXP_LIKE ('England or America', 'l.nd') AS Result;
Dans cet exemple, l'expression régulière peut spécifier n'importe quel caractère à la place du point. Par conséquent, nous obtiendrons une correspondance ici. Cette fonction renvoie donc 1 pour indiquer une correspondance.
L'instruction ci-dessous est un autre exemple où la chaîne d'entrée ne correspond pas à l'expression régulière donnée.
mysql> SELECT REGEXP_LIKE ('MCA', 'BCA') AS Result;
Voici le résultat :
une classe abstraite peut-elle avoir un constructeur
L'instruction ci-dessous est un autre exemple dans lequel l'expression régulière spécifiée recherche si la chaîne se termine ou non par les caractères donnés :
mysql> SELECT REGEXP_LIKE ('England Netherland Scotland', 'and$') AS Result;
Voici le résultat :
Nous pouvons fournir un paramètre supplémentaire pour affiner l'expression régulière en utilisant les arguments du type de correspondance. Voir l'exemple ci-dessous où nous spécifions un sensible aux majuscules et minuscules et correspondance insensible à la casse :
mysql> SELECT REGEXP_LIKE ('India Indonesia', '^in', 'i') AS 'Case-Insensitive', REGEXP_LIKE ('India Indonesia', '^in', 'c') AS 'Case-Sensitive';
Voici le résultat :