Maison >base de données >tutoriel mysql >Introduction à l'utilisation des requêtes d'expressions régulières dans MySql
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!