Comment les expressions régulières de la base de données MySQL correspondent-elles ? MySQL regexp comme utilisation

Base de données MySQLComment l'expression régulière correspond-elle ?MySQL regexp comme utilisation

Expressions régulières MySQL

Dans les chapitres précédents, nous avons appris que MySQL peut être AIMER...% pour la correspondance floue.

MySQL prend également en charge la correspondance d'autres expressions régulières. L'opérateur REGEXP est utilisé dans MySQL pour la correspondance des expressions régulières.

Si vous connaissez PHP ou Perl, c'est assez simple, car la correspondance des expressions régulières de MySQL est similaire à celles de ces scripts.

Les modèles réguliers du tableau suivant peuvent être appliqués à l'opérateur REGEXP.

Mode描述
^Correspond au début de la chaîne d'entrée.^ correspond également à la position après '\n' ou '\r' si la propriété Multiline de l'objet RegExp est définie.
$Correspond à la fin de la chaîne d'entrée.Si la propriété Multiline de l'objet RegExp est définie, $ correspond également à la position avant '\n' ou '\r'.
.Correspond à n'importe quel caractère unique sauf "\n".Pour faire correspondre n'importe quel caractère, y compris '\n', utilisez un modèle comme '[.\n]'.
[...]collection de personnages.Correspond à l'un des caractères contenus.Par exemple, '[abc]' correspondrait à "plai'a' dans n".
[^…]Jeu de caractères négatif.Correspond à tout caractère non contenu.Par exemple, '[^abc]' correspondrait à 'p' dans "plain".
p1|p2|p3Correspond à p1 ou p2 ou p3.Par exemple, 'z|food' correspondrait à "z" ou "food". '(z|f)ood' correspond à "zood" ou "nourriture".
*Correspond à la sous-expression précédente zéro ou plusieurs fois.Par exemple, zo* correspondrait à "z" ainsi qu'à "zoo". * est équivalent à {0,}.
+Correspond à la sous-expression précédente une ou plusieurs fois.Par exemple, 'zo+' correspondrait à "zo" et "zoo", mais pas à "z". + est équivalent à {1,}.
{n}n est un entier non négatif.Match déterminé n fois.Par exemple, 'o{2}' ne correspondrait pas au 'o' dans "Bob", mais correspondrait aux deux o dans "food".
{n,m}m et n sont tous deux des entiers non négatifs, où n <= m.Correspond au moins n fois et au plus m fois.

Exemple

Après avoir compris les exigences régulières ci-dessus, nous pouvons écrire des instructions SQL avec des expressions régulières selon nos propres exigences.Ci-dessous, nous énumérerons quelques petits exemples (nom de la table : person_tbl ) pour approfondir notre compréhension :

Trouvez toutes les données commençant par 'st' dans le champ du nom :

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

Recherchez toutes les données qui se terminent par "ok" dans le champ de nom :

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

Trouvez toutes les données contenant la chaîne 'mar' dans le champ de nom :

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

Trouvez toutes les données dans le champ de nom qui commencent par une voyelle ou se terminent par la chaîne « ok » :

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

J'espère que le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) partagé "Comment faire correspondre les expressions régulières de la base de données MySQL ? MySQL regexp like usage" vous aidera.

Bienvenue à partager le lien de cet article :https://www.chenweiliang.com/cwl-492.html

Bienvenue sur la chaîne Telegram du blog de Chen Weiliang pour obtenir les dernières mises à jour !

🔔 Soyez le premier à obtenir le précieux « Guide d'utilisation de l'outil d'IA de marketing de contenu ChatGPT » dans le répertoire supérieur de la chaîne ! 🌟
📚 Ce guide contient une valeur énorme, 🌟C'est une opportunité rare, ne la manquez pas ! ⏰⌛💨
Partagez et likez si vous aimez !
Vos partages et likes sont notre motivation continue !

 

发表 评论

Votre adresse email ne sera pas publiée. 项 已 用 * 标注

到 顶部