MYSQL入门学习之二:使用正则表达式搜索_MySQL
正则表达式
bitsCN.com
MYSQL入门学习之二:使用正则表达式搜索
一、正则表达式介绍
正则表达式是用来匹配文本的特殊的串(字符集合)。
二、使用MySQL正则表达式
1、MySQL仅仅支持多数正则表达式实现的一个很小的子集。
2、LIKE匹配整个列值;而REGEXP匹配列值的子串,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。看下面的例子:
[sql]
mysql>select username from v9_admin where username like 'space';
Emptyset (0.00 sec)
mysql>select username from v9_admin where username REGEXP 'space';
+-----------+
|username |
+-----------+
|warmspace |
+-----------+
1 rowin set (0.02 sec)
3、默认MySQL中的正则表达式匹配不区分大小写,可使用BINARY关键字区分大小写,如
[sql]
mysql>select username from v9_admin
-> where username REGEXP BINARY'SPACCE';
Emptyset (0.04 sec)
4、进行OR匹配:为搜索两个串之一,使用|,如下所示:
[sql]
mysql>select roleid from v9_admin_role
-> where roleid REGEXP '1|3';
+--------+
|roleid |
+--------+
| 1 |
| 3 |
+--------+
2 rowsin set (0.00 sec)
5、匹配几个字符之一:匹配任何单一字符。如下所示:
[sql]
mysql>select name from v9_collection_node
-> where name REGEXP '005-[123]';
+-----------------+
|name |
+-----------------+
|101-02-01-005-2 |
|101-02-01-005-1 |
|101-02-01-005-3 |
+-----------------+
3 rowsin set (0.00 sec)
正如所见,[]是另一种形式的OR语句。'005-[123]'与’005-[1|2|3]’是等价的。
匹配除给定字符外的字符:
[sql]
mysql>select name from v9_collection_node
-> where name REGEXP '005-[^123]';
+-------------------+
|name |
+-------------------+
|101-02-01-005-4.2 |
|101-02-01-005-4 |
|101-02-01-005-5 |
+-------------------+
3 rowsin set (0.00 sec)
6、可使用-来定义一个范围。如[1-9],[a-b]。
[sql]
mysql>select name from v9_collection_node
-> where name REGEXP '005-[1-3]';
+-----------------+
|name |
+-----------------+
|101-02-01-005-2 |
|101-02-01-005-1 |
|101-02-01-005-3 |
+-----------------+
3 rowsin set (0.00 sec)
7、为了匹配特殊字符,必须用//为前导,例如//-,//.等。这种处理即转义(escaping)。
多数正则表达式实现使用单个反斜杠转义特殊字符,但MYSQL要求两个(MYSQL自己解释一个,正则表达式库解释另一个)。
//也用来引用元字符(具有特殊含义的字符),如下表:
8、为了更方便工作,可以使用预定义的字符集,称为字符类(character class)。
[sql]
mysql> select name fromv9_collection_node
-> where name REGEXP '[[:digit:]]';
+-------------------+
| name |
+-------------------+
| 101-10-01-002-1 |
| 101-02-01-005-4.2 |
| 101-02-01-005-2 |
| 101-02-01-005-1 |
| 101-02-01-005-3 |
| 101-02-01-005-4 |
| 101-02-01-005-5 |
| 101-10-01-002-2 |
| 101-11-04-001-1 |
+-------------------+
9 rowsin set (0.00 sec)
9、使用正则表达式重复元字符匹配多个实例:
[sql]
mysql> select name fromv9_collection_node
-> where name REGEXP '1{2}';
+-----------------+
| name |
+-----------------+
| 101-11-04-001-1 |
+-----------------+
1 rowin set (0.00 sec)
10、定位符(为了匹配特定位置的文本):
[sql]
mysql> select name from v9_collection_node
-> where name REGEXP '2$';
+-------------------+
| name |
+-------------------+
| 101-02-01-005-4.2 |
| 101-02-01-005-2 |
| 101-10-01-002-2 |
+-------------------+
3 rows in set (0.00 sec)
11、使REGEXP起类似LIKE的作用,它们的区别在于LIKE匹配整个串而REGEXP匹配子串。利用定位符,通过用^开始每个表达式,用$结束每个表达式。
12、简单的正则表达式测试:可以在不使用数据库表的情况下用SELECT来测试正则表达式。REGEXP检查总是返回0或1(匹配)。
[sql]
mysql> select 'hello' REGEXP'[0-9]';
+------------------------+
| 'hello' REGEXP '[0-9]' |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.00 sec)
bitsCN.com

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Python, en tant que langage de programmation de haut niveau, est facile à apprendre et à utiliser. Une fois que vous aurez besoin d’écrire un programme Python, vous rencontrerez inévitablement des erreurs de syntaxe, et les erreurs de syntaxe d’expression sont courantes. Dans cet article, nous verrons comment résoudre les erreurs de syntaxe d’expression en Python. Les erreurs de syntaxe d'expression sont l'une des erreurs les plus courantes en Python et elles sont généralement causées par une utilisation incorrecte de la syntaxe ou par des composants nécessaires manquants. En Python, les expressions sont généralement constituées de nombres, de chaînes, de variables et d'opérateurs. le plus courant

En C ou C++, la virgule "," a différentes utilisations. Ici, nous apprendrons comment les utiliser. Virgules comme opérateurs. L'opérateur virgule est un opérateur binaire qui évalue le premier opérande, ignore le résultat, puis évalue le deuxième opérande et renvoie la valeur. L'opérateur virgule a la priorité la plus basse en C ou C++. Exemple #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} Ici, 60 sera attribué à x. Pour l'instruction suivante, func1( sera exécuté en premier

Introduction à la façon d'écrire des expressions de fonctions exponentielles en langage C et exemples de code Qu'est-ce qu'une fonction exponentielle ? La fonction exponentielle est un type courant de fonction en mathématiques. Elle peut être exprimée sous la forme f(x)=a^x, où. a est la base et x est l'exposant. Les fonctions exponentielles sont principalement utilisées pour décrire la croissance exponentielle ou la décroissance exponentielle. Exemple de code de fonction exponentielle En langage C, nous pouvons utiliser la fonction pow() dans la bibliothèque mathématique pour calculer la fonction exponentielle. Voici un exemple de programme : #include.

Expressions lambda en Java Avec la sortie de Java 8, les expressions lambda sont devenues l'un des sujets les plus préoccupants et discutés parmi les développeurs Java. Les expressions Lambda peuvent simplifier les méthodes d'écriture fastidieuses des programmeurs Java et peuvent également améliorer la lisibilité et la maintenabilité des programmes. Dans cet article, nous examinerons en profondeur les expressions lambda en Java et comment elles offrent une expérience de programmation plus simple et plus intuitive dans le code Java.

Une expression lambda est une fonction anonyme qui peut être facilement utilisée pour parcourir une collection. Dans cet article, nous présenterons comment utiliser les expressions lambda pour parcourir des collections et fournirons des exemples de code spécifiques. En Python, le format syntaxique d'une expression lambda est le suivant : Liste de paramètres lambda : La liste de paramètres d'une expression expression lambda peut contenir un ou plusieurs paramètres, séparés par des virgules. L'expression est la valeur de retour de la fonction lambda. Regardons un exemple simple ci-dessous, en supposant

Introduction et syntaxe de base des expressions Lambda Les expressions Lambda se composent d'une liste de paramètres de fonction, de deux points et d'un corps de fonction. La liste des paramètres de la fonction est la même que celle d'une fonction ordinaire et le corps de la fonction est une expression plutôt qu'un ensemble d'instructions. #Exemple : renvoie une fonction qui reçoit deux nombres et renvoie leur somme sum=lambdax,y:x+y Scénarios d'application des expressions Lambda Les expressions Lambda sont très adaptées pour être utilisées comme fonctions de rappel, fonctions de filtrage et fonctions de mappage. Fonction de rappel : Une fonction de rappel est une fonction appelée dans une autre fonction. Les expressions Lambda facilitent la création de fonctions de rappel sans déclarer leurs noms. Fonction de filtre : la fonction de filtre est utilisée pour filtrer complètement

L'expression Lambda, comme son nom l'indique, est une fonction anonyme avec le symbole de flèche (->) comme noyau. Il vous permet de transmettre des blocs de code comme arguments à d'autres méthodes ou de les stocker dans des variables pour une utilisation ultérieure. La syntaxe des expressions Lambda est concise et facile à comprendre, et elle est très adaptée au traitement des flux de données et au calcul parallèle. 1. La syntaxe de base de l'expression Lambda La syntaxe de base de l'expression Lambda est la suivante : (liste de paramètres) -> {bloc de code} Parmi eux, la liste de paramètres et le bloc de code sont facultatifs. S'il n'y a qu'un seul paramètre, les parenthèses peuvent être omises. Si le bloc de code ne comporte qu’une seule ligne, les accolades peuvent être omises. Par exemple, le bloc de code suivant utilise une expression Lambda pour ajouter 1 à un nombre : Liste

Avec le développement rapide de la technologie informatique, les langages de programmation sont constamment mis à niveau et améliorés. Parmi eux, PHP, en tant que langage de développement Web couramment utilisé, innove et lance constamment de nouvelles versions. Récemment, la sortie de la version PHP8.0 a attiré une large attention. Parmi elles, les améliorations apportées au mécanisme de gestion des exceptions dans la nouvelle version ont attiré beaucoup d'attention. Cet article se concentrera sur le sujet de la prise en charge des expressions dans le bloc d'instructions try de PHP8.0. 1. Améliorations du mécanisme de gestion des exceptions de PHP8.0 Dans les versions précédentes, P
