Cum se potrivesc expresiile regulate ale bazei de date MySQL? Utilizare similară cu expresia regulă MySQL

Baza de date MySQLCum se potrivește expresia regulată?MySQL utilizare ca regexp

Expresii regulate MySQL

În capitolele precedente am învățat că MySQL poate fi CA...% pentru potrivire neclară.

MySQL acceptă, de asemenea, potrivirea altor expresii regulate.Operatorul REGEXP este folosit în MySQL pentru potrivirea expresiilor regulate.

Dacă cunoașteți PHP sau Perl, este destul de simplu, deoarece potrivirea expresiilor regulate MySQL este similară cu cele ale acestor scripturi.

Modelele obișnuite din tabelul următor pot fi aplicate operatorului REGEXP.

modDescriere
^Se potrivește cu începutul șirului de intrare.^ se potrivește, de asemenea, cu poziția de după „\n” sau „\r” dacă este setată proprietatea Multiline a obiectului RegExp.
$Se potrivește cu sfârșitul șirului de intrare.Dacă proprietatea Multiline a obiectului RegExp este setată, $ se potrivește și cu poziția de dinainte de „\n” sau „\r”.
.Se potrivește cu orice caracter, cu excepția „\n”.Pentru a potrivi orice caracter, inclusiv „\n”, utilizați un model precum „[.\n]”.
[...]colecție de personaje.Se potrivește cu oricare dintre caracterele conținute.De exemplu, „[abc]” s-ar potrivi cu „plai„a” în n”.
[^…]Set de caractere negative.Se potrivește cu orice caracter care nu este conținut.De exemplu, „[^abc]” s-ar potrivi cu „p” în „plain”.
p1|p2|p3Se potrivește p1 sau p2 sau p3.De exemplu, „z|food” s-ar potrivi fie cu „z”, fie cu „food”. „(z|f)ood” se potrivește cu „zood” sau „aliment”.
*Se potrivește subexpresiei precedente de zero sau de mai multe ori.De exemplu, zo* s-ar potrivi cu „z”, precum și cu „zoo”. * este echivalent cu {0,}.
+Se potrivește cu subexpresia precedentă o dată sau de mai multe ori.De exemplu, „zo+” se potrivește cu „zo” și „zoo”, dar nu cu „z”. + este echivalent cu {1,}.
{nu}n este un întreg nenegativ.Se potrivește de exact de n ori.De exemplu, „o{2}” nu s-ar potrivi cu „o” din „Bob”, dar s-ar potrivi cu ambele o din „mâncare”.
{n,m}Atât m, cât și n sunt numere întregi nenegative, unde n <= m.Se potrivește de cel puțin n ori și de cel mult m ori.

Instanță

După înțelegerea cerințelor obișnuite de mai sus, putem scrie instrucțiuni SQL cu expresii regulate conform propriilor cerințe.Mai jos vom enumera câteva exemple mici (numele tabelului: person_tbl ) pentru a ne aprofunda înțelegerea:

Găsiți toate datele care încep cu „st” în câmpul de nume:

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

Găsiți toate datele care se termină cu „ok” în câmpul de nume:

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

Găsiți toate datele care conțin șirul „mar” în câmpul de nume:

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

Găsiți toate datele în câmpul de nume care începe cu un caracter vocal sau se termină cu șirul „ok”:

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

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) a distribuit „Cum se potrivesc expresiile regulate în baza de date MySQL? Utilizarea de tip MySQL regexp" vă va ajuta.

Bine ați venit să distribuiți linkul acestui articol:https://www.chenweiliang.com/cwl-492.html

Bun venit pe canalul Telegram al blogului lui Chen Weiliang pentru a primi cele mai recente actualizări!

🔔 Fii primul care primește valorosul „Ghid de utilizare a instrumentului AI pentru marketing de conținut ChatGPT” în directorul de top al canalului! 🌟
📚 Acest ghid conține o valoare uriașă, 🌟Aceasta este o oportunitate rară, nu o ratați! ⏰⌛💨
Distribuie si da like daca iti place!
Partajarea și like-urile tale sunt motivația noastră continuă!

 

发表 评论

Adresa ta de email nu va fi publicată. Sunt utilizate câmpurile obligatorii * Eticheta

derulați în sus