Dans MySQL, la fonction REGEXP_LIKE() est utilisée pour déterminer si une chaîne correspond à une expression régulière.
La fonction renvoie 1 si la chaîne correspond à l'expression régulière fournie ; 0 si elle ne correspond pas.
Syntaxe :
REGEXP_LIKE(expr, pat[, match_type])
où expr est la chaîne d'entrée et pat est l'expression régulière de la chaîne de test.
Le paramètre optionnel match_type permet d'affiner l'expression régulière.
Par exemple, vous pouvez utiliser match_type pour spécifier ou non une correspondance sensible à la casse.
exemple 1 de regexp_like() - utilisation de base
Ce qui suit est un exemple de base :
SELECT REGEXP_LIKE('Cat', '.*') Result;
Résultat :
+--------+ | Result | +--------+ | 1 | +--------+
Dans ce cas, l'expression régulière spécifie n'importe quel caractère dans n'importe quelle séquence, donc bien sûr nous obtenons une correspondance. La fonction renvoie 1 pour indiquer une correspondance.
exemple regexp_like() 2 - aucune correspondance
Voici un exemple où la chaîne d'entrée ne correspond pas à l'expression régulière :
SELECT REGEXP_LIKE('Cat', 'b+') Result;
Résultat :
+--------+ | Result | +--------+ | 0 | +--------+
Dans ce cas, l'expression régulière spécifie qu'il doit y avoir un ou plusieurs caractères b dans n'importe quelle séquence. Notre chaîne d'entrée ne contient pas ce caractère, donc 0 est renvoyé.
regexp_like() Exemple 3 - Faire correspondre le début d'une chaîne
Ce qui suit est un exemple d'expression régulière spécifiant qu'une chaîne doit commencer par certains caractères :
SELECT REGEXP_LIKE('Cat', '^Ca') Result;
Résultat :
+--------+ | Result | +--------+ | 1 | +--------+
Que se passe-t-il s'il n'y a pas de correspondance :
SELECT REGEXP_LIKE('Cat', '^Da') Result;
Résultat :
+--------+ | Result | +--------+ | 0 | +--------+
regexp_like() Exemple 4 - paramètre match_type
Vous pouvez fournir des paramètres supplémentaires pour déterminer le type de correspondance. Cela vous permet de spécifier si la correspondance est sensible à la casse, inclut des terminateurs de ligne, etc.
Ce qui suit est un exemple de spécification d'une correspondance sensible à la casse et d'une correspondance insensible à la casse :
SELECT REGEXP_LIKE('Cat', '^ca', 'c') 'Case-Sensitive', REGEXP_LIKE('Cat', '^ca', 'i') 'Case-Insensitive';
Résultat :
+----------------+------------------+ | Case-Sensitive | Case-Insensitive | +----------------+------------------+ | 0 | 1 | +----------------+------------------+
Le paramètre match_type peut contenir les caractères suivants :
c : correspondance sensible à la casse.
i : correspond quelle que soit la casse.
m : Mode multiligne. Identifiez les terminateurs de ligne dans les chaînes. Le comportement par défaut consiste à faire correspondre les terminateurs de ligne uniquement au début et à la fin d'une expression de chaîne.
n : Le caractère .
correspond au terminateur de ligne. Le paramètre par défaut est .
correspondant pour s'arrêter à la fin de la ligne.
u : fins de lignes Unix uniquement. Seuls les caractères de nouvelle ligne sont reconnus comme terminateurs de ligne par les opérateurs de correspondance .
, ^
et $
.
Recommandations associées : "Tutoriel mysql"
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!