Maison  >  Article  >  base de données  >  Introduction à l'utilisation des requêtes d'expressions régulières dans MySql

Introduction à l'utilisation des requêtes d'expressions régulières dans MySql

黄舟
黄舟original
2017-07-20 14:43:151454parcourir

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'expressions régulières dans MySql à travers cet article. Les amis intéressés devraient y jeter un œil ensemble

Les expressions régulières sont couramment utilisées pour récupérer et remplacer du texte conforme à la magie. modèle. 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.

Répertoire

1. Le caractère '^' interroge 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 aux enregistrements commençant par un caractère ou une chaîne spécifique. L'instruction ci-dessus interroge les enregistrements dont la boîte aux lettres commence par un

Le caractère '2. requêtes avec un caractère spécifique Ou enregistrements à la fin d'une chaîne


SELECT * FROM user WHERE phone REGEXP '0$'

Le caractère '$' correspond aux enregistrements se terminant par un caractère ou une chaîne spécifique. les enregistrements se terminant par 0 dans la boîte aux lettres

3. Utilisez le symbole "."; pour remplacer n'importe quel caractère dans la chaîne


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

Interrogez le boîtes aux lettres avec un caractère entre a et c Enregistrements, '.' é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 e-mail 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 délimitée "|" 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, utiliser entre les chaînes "|" .

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, le ci-dessus signifie interroger les boîtes aux lettres avec a ou z ou les deux dans la boîte aux lettres. 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]'

L'e-mail correspondant ci-dessus ne contient pas a, b, c , d Et n'inclut pas les enregistrements 1, 2 et 3.

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.

Résumé

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