Maison  >  Article  >  base de données  >  Explication détaillée des exemples de requêtes utilisant des expressions régulières dans MySql

Explication détaillée des exemples de requêtes utilisant des expressions régulières dans MySql

小云云
小云云original
2018-01-06 14:33:001847parcourir

Les expressions régulières sont souvent utilisées pour récupérer et remplacer le texte qui correspond au modèle magique. Par exemple, extraire un numéro de téléphone d’un fichier texte, retrouver des mots répétés dans un article ou encore remplacer certains mots sensibles saisis par l’utilisateur. Mysql utilise le mot-clé REGEXP pour spécifier le modèle de correspondance de caractères d'une expression régulière. Mysql utilise le mot-clé REGEXP pour spécifier le modèle de correspondance de caractères d'une expression régulière. Ensuite, je partagerai avec vous la méthode d'utilisation des requêtes d'expression régulière dans MySql à travers cet article. Les amis intéressés devraient y jeter un œil. J'espère que cela pourra vous aider.

Explication détaillée des exemples de requêtes utilisant des expressions régulières dans MySql

1. Le caractère '^' recherche les enregistrements commençant par un caractère ou une chaîne spécifique

SELECT * FROM user WHERE email REGEXP '^a'

Le caractère '^' correspond à un caractère spécifique ou une chaîne Enregistrements commençant par une chaîne, l'instruction ci-dessus interroge les enregistrements commençant par un dans la boîte aux lettres

2. Le caractère ' interroge les enregistrements se terminant par un caractère ou une chaîne spécifique

SELECT * FROM user WHERE phone REGEXP '0$'

. Le caractère '$' correspond à un caractère spécifique. Enregistrements se terminant par des caractères ou des chaînes, l'instruction ci-dessus interroge les enregistrements se terminant par 0 dans la boîte aux lettres

3. Utilisez le symbole ".";

SELECT * FROM user WHERE email REGEXP 'a.c'

pour interroger Il y a un enregistrement d'un caractère entre les boîtes aux lettres a et c, et '.' équivaut à un espace réservé. S'il est écrit sous la forme REGEXP « a..c », c'est-à-dire qu'il y a deux points entre a et c, cela signifie qu'il doit y avoir deux caractères entre a et c dans la boîte aux lettres.

4. Utilisez "*" pour faire correspondre plusieurs caractères

SELECT * FROM user WHERE email REGEXP 'm*'

Interrogez les enregistrements avec m dans toutes les boîtes aux lettres.

SELECT * FROM user WHERE email REGEXP '^am*'

Interrogez les enregistrements dont l'adresse email commence par la lettre a et est suivie de la lettre m. Où « * » signifie 0 fois ou plus.

5. Utilisez le caractère "+" pour représenter le caractère suivant

SELECT * FROM user WHERE email REGEXP 'm+'

pour interroger tous les enregistrements avec m dans la boîte aux lettres.

SELECT * FROM user WHERE email REGEXP '^am+'

Interrogez les enregistrements dont l'adresse email commence par la lettre a, suivie de la lettre m. Où '+' signifie le caractère suivant.

6. La condition séparée par « | » correspond à la chaîne spécifiée

SELECT * FROM user WHERE email REGEXP 'qq.com|163.com'

L'expression régulière peut correspondre à la chaîne spécifiée et les chaînes sont séparées par « | ».

7. "[]" signifie que l'ensemble correspond à l'une des chaînes spécifiées

SELECT * FROM user WHERE email REGEXP '[az]'

"[]" spécifie un ensemble, ce qui précède signifie que la boîte aux lettres de requête contient un ou z ou boîtes aux lettres pour les deux. Il peut également être utilisé pour faire correspondre un ensemble de nombres. Par exemple, [0-9] représente tous les nombres dans l'intervalle défini et [a-z] représente toutes les lettres dans l'intervalle défini.

8. "[^]" correspond à des caractères autres que les caractères spécifiés

SELECT * FROM user WHERE email REGEXP '[^a-d1-3]'

Comme ci-dessus, l'adresse e-mail correspondante ne contient pas a, b, c, d et ne contient pas 1, 2, 3 Enregistrer.

9. Utilisez {n,} ou {n,m} pour spécifier le nombre d'occurrences de concaténation de chaînes

SELECT * FROM user WHERE email REGEXP 'b{2}'

signifie que la lettre b apparaît au moins 2 fois.

SELECT * FROM user WHERE email REGEXP 'yu{1,3}'

signifie que la chaîne ba apparaît au moins une fois et au maximum 3 fois.

Recommandations associées :

L'applet WeChat implémente le partage de fonctions de vérification d'expression régulière d'entrée simple

Comment utiliser les expressions régulières en Javascript

Expression régulière dans Replace_Regular Expression

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