Maison  >  Article  >  base de données  >  Tutoriel sur l'utilisation d'expressions régulières pour rechercher et faire correspondre dans MySQL (2)

Tutoriel sur l'utilisation d'expressions régulières pour rechercher et faire correspondre dans MySQL (2)

巴扎黑
巴扎黑original
2017-05-04 17:28:281987parcourir

OR match

Pour rechercher l'une des deux chaînes (soit pour cette chaîne, soit pour une autre chaîne), utilisez |, comme indiqué ci-dessous :

Entrée :

select prod_name from products where prod_name regexp '1000|2000' order by prod_name;

Sortie :

Tutoriel sur lutilisation dexpressions régulières pour rechercher et faire correspondre dans MySQL (2)

Analyse : L'expression régulière 1000|2000 est utilisée dans l'instruction. | est l'opérateur ou des expressions régulières. Il est indiqué que l'un d'entre eux correspond, donc 1 000 et 2 000 sont appariés et renvoyés.

L'utilisation de | est fonctionnellement similaire à l'utilisation de l'instruction or dans une instruction select. Plusieurs conditions or peuvent être fusionnées en une seule expression régulière.

Remarque : Plus de deux conditions peuvent être données. Par exemple, « 1000|2000|3000 » correspondra à 1000, ou 2000 ou 3000.

correspond à l'un des nombreux caractères

correspond à n'importe quel caractère. Mais que se passe-t-il si vous souhaitez uniquement faire correspondre des caractères spécifiques ?

Cela peut être fait en formulant un ensemble de caractères entourés de [ et ], comme indiqué ci-dessous :

Entrée : sélectionnez prod_name parmi les produits où prod_name regexp '[123] Ton' commande par prod_name ;

Sortie :

Tutoriel sur lutilisation dexpressions régulières pour rechercher et faire correspondre dans MySQL (2)

Analyse : Ici, l'expression régulière [123]Ton est utilisée. [123] définit un ensemble de caractères qui signifie correspondre à 1, 2 ou 3. Par conséquent, 1ton et 2ton correspondent et sont renvoyés (pas de 3ton).

Comme vous pouvez le voir, [] est une autre forme de déclaration ou. En fait, l'expression régulière [123]Ton est l'abréviation de [1|2|3]Ton, et cette dernière peut également être utilisée. Cependant, [] est nécessaire pour définir ce que recherche l'instruction or. Pour mieux comprendre cela, il faut regarder l'exemple suivant :

Entrée :

select prod_name from products where prod_name regexp '1|2|3 Ton‘ order by prod_name;

Sortie :

Tutoriel sur lutilisation dexpressions régulières pour rechercher et faire correspondre dans MySQL (2)

Analyse : Cette n'est pas le résultat attendu. Les deux lignes demandées ont été récupérées, mais trois lignes supplémentaires ont été récupérées, et la raison en est que MySQL suppose que vous vouliez dire « 1 », « 2 » ou « 3 tonnes ». À moins que le caractère | ne soit développé dans un ensemble, il s'applique à la chaîne entière. Le jeu de caractères

peut également être annulé, c'est-à-dire qu'ils correspondront à tout sauf aux caractères spécifiés. Pour annuler un jeu de caractères, placez un ^ au début du jeu. Ainsi, alors que [123] correspond aux caractères 1, 2 ou 3, [^123] correspond à tout sauf ces caractères.


Plage de correspondance La collection

peut être utilisée pour définir un ou plusieurs caractères à faire correspondre. Par exemple, une collection de lignes et de polygones correspondrait aux nombres 0 à 9 :

[123456789]

Pour simplifier ce type de collection, vous pouvez utiliser - pour définir une plage. La formule suivante est fonctionnellement équivalente à la liste de nombres ci-dessus :

[0-9]

La plage n'est pas limitée à l'ensemble complet, [1-3] et [6-9 ] ont également une portée juridique. De plus, la plage ne doit pas nécessairement être uniquement numérique, [a-z] correspond à n'importe quel caractère alphabétique.

Par exemple :

Entrée :

select prod_name from products where prod_name regexp '[1-5] Ton’ order by prod_name;

Sortie :

Tutoriel sur lutilisation dexpressions régulières pour rechercher et faire correspondre dans MySQL (2)

Analyse : les expressions régulières sont utilisées ici Formule [1-5]Tonne. [1-5] définit une plage. Cette expression signifie faire correspondre 1 à 5, donc 3 lignes correspondantes sont renvoyées. Depuis les correspondances de 5 tonnes, 0,5 tonne est restituée.

[Recommandations associées]

1. Tutoriel sur l'utilisation d'expressions régulières pour rechercher et faire correspondre dans MySQL (1)

2. Tutoriel vidéo en ligne gratuit

3.

Le dernier didacticiel vidéo de base MySQL de Han Shunping en 2016

4.m

Tutoriel de recherche et de correspondance à l'aide d'expressions régulières dans ysql (3)

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