Maison  >  Article  >  base de données  >  Exemple d'analyse de la fonction regexp_like() dans MySQL

Exemple d'analyse de la fonction regexp_like() dans MySQL

藏色散人
藏色散人original
2019-04-15 11:52:4424233parcourir

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!

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