Hoe komen de reguliere expressies van de MySQL-database overeen? MySQL regexp zoals gebruik

MySQL-databaseHoe komt de reguliere expressie overeen?MySQL regexp zoals gebruik

MySQL reguliere expressies

In de vorige hoofdstukken hebben we geleerd dat MySQL kan worden LEUK VINDEN...% voor vage matching.

MySQL ondersteunt ook het matchen van andere reguliere expressies.De REGEXP-operator wordt in MySQL gebruikt voor het matchen van reguliere expressies.

Als je PHP of Perl kent, is het vrij eenvoudig, omdat de reguliere expressie van MySQL vergelijkbaar is met die van deze scripts.

De reguliere patronen in de volgende tabel kunnen worden toegepast op de REGEXP-operator.

modeOmschrijving
^Komt overeen met het begin van de invoertekenreeks.^ komt ook overeen met de positie na '\n' of '\r' als de eigenschap Multiline van het RegExp-object is ingesteld.
$Komt overeen met het einde van de invoertekenreeks.Als de eigenschap Multiline van het RegExp-object is ingesteld, komt $ ook overeen met de positie vóór '\n' of '\r'.
.Komt overeen met elk afzonderlijk teken behalve "\n".Gebruik een patroon zoals '[.\n]' om elk teken inclusief '\n' overeen te laten komen.
[...]verzameling karakters.Komt overeen met een van de aanwezige tekens.'[abc]' komt bijvoorbeeld overeen met 'mvai'een' in n".
[^…]Negatieve tekenset.Komt overeen met elk karakter dat niet aanwezig is.Bijvoorbeeld: '[^abc]' komt overeen met 'p' in 'plain'.
p1|p2|p3Komt overeen met p1 of p2 of p3.'z|food' komt bijvoorbeeld overeen met 'z' of 'food'. '(z|f)ood' komt overeen met "zood" of "food".
*Komt nul of meer keer overeen met de voorgaande subexpressie.Zo* komt bijvoorbeeld overeen met zowel "z" als "dierentuin". * is gelijk aan {0,}.
+Komt één of meerdere keren overeen met de voorgaande subexpressie.'Zo+' komt bijvoorbeeld overeen met 'zo' en 'zoo', maar niet met 'z'. + is gelijk aan {1,}.
{N}n is een niet-negatief geheel getal.Komt precies n keer overeen.'o{2}' komt bijvoorbeeld niet overeen met de 'o' in 'Bob', maar komt wel overeen met beide o's in 'eten'.
{n,m}Zowel m als n zijn niet-negatieve gehele getallen, waarbij n <= m.Komt minimaal n keer en maximaal m keer overeen.

Voorbeeld

Nadat we de bovenstaande reguliere vereisten hebben begrepen, kunnen we SQL-instructies schrijven met reguliere expressies volgens onze eigen vereisten.Hieronder zullen we een paar kleine voorbeelden noemen (tabelnaam: person_tbl ) om ons begrip te verdiepen:

Vind alle gegevens die beginnen met 'st' in het naamveld:

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

Vind alle gegevens die eindigen op 'ok' in het naamveld:

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

Zoek alle gegevens met de tekenreeks 'mar' in het naamveld:

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

Zoek alle gegevens in het naamveld die beginnen met een klinkerteken of eindigen met de string 'ok':

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

Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) shared "Hoe kan ik reguliere expressies matchen in de MySQL-database? MySQL regexp zoals gebruik" zal u helpen.

Welkom om de link van dit artikel te delen:https://www.chenweiliang.com/cwl-492.html

Welkom op het Telegram-kanaal van Chen Weiliang's blog voor de laatste updates!

🔔 Wees de eerste die de waardevolle "ChatGPT Content Marketing AI Tool Usage Guide" in de bovenste kanaaldirectory ontvangt! 🌟
📚 Deze gids bevat enorme waarde, 🌟Dit is een zeldzame kans, mis hem niet! ⏰⌛💨
Deel en like als je wilt!
Uw delen en likes zijn onze voortdurende motivatie!

 

发表 评论

Uw e-mailadres wordt niet gepubliceerd. 必填 项 已 用 * 标注

scroll naar boven