Jak se shodují regulární výrazy databáze MySQL? Použití podobné regulárnímu výrazu MySQL

MySQL databázeJak se regulární výraz shoduje?MySQL použití podobné regulárnímu výrazu

Regulární výrazy MySQL

V předchozích kapitolách jsme se dozvěděli, že MySQL může být JAKO...% pro fuzzy párování.

MySQL také podporuje párování dalších regulárních výrazů.Pro párování regulárních výrazů se v MySQL používá operátor REGEXP.

Pokud znáte PHP nebo Perl, je to docela jednoduché, protože porovnávání regulárních výrazů MySQL je podobné jako u těchto skriptů.

Na operátor REGEXP lze použít běžné vzory v následující tabulce.

Režimpopis
^Odpovídá začátku vstupního řetězce.^ odpovídá také pozici za '\n' nebo '\r', pokud je nastavena vlastnost Multiline objektu RegExp.
$Odpovídá konci vstupního řetězce.Pokud je nastavena vlastnost Multiline objektu RegExp, $ také odpovídá pozici před '\n' nebo '\r'.
.Odpovídá libovolnému jednotlivému znaku kromě „\n“.Chcete-li porovnat jakýkoli znak včetně '\n', použijte vzor jako '[.\n]'.
[...]sbírka postav.Odpovídá libovolnému z obsažených znaků.Například „[abc]“ by odpovídalo „plai'a' v n".
[^…]Negativní znaková sada.Odpovídá libovolnému znaku, který není obsažen.Například '[^abc]' by odpovídalo 'p' v "plain".
p1|p2|p3Odpovídá p1 nebo p2 nebo p3.Například „z|jídlo“ by odpovídalo „z“ nebo „jídlo“. „(z|f)ood“ odpovídá „zood“ nebo „jídlo“.
*Odpovídá předchozímu podvýrazu nula nebo vícekrát.Například zo* by odpovídalo „z“ i „zoo“. * je ekvivalentní {0,}.
+Odpovídá předchozímu podvýrazu jednou nebo vícekrát.Například „zo+“ by odpovídalo „zo“ a „zoo“, ale nikoli „z“. + je ekvivalentní {1,}.
{ne}n je nezáporné celé číslo.Shoduje se přesně nkrát.Například „o{2}“ by neodpovídalo „o“ v „Bob“, ale odpovídalo by oběma o v „jídlo“.
{n,m}Jak m, tak n jsou nezáporná celá čísla, kde n <= m.Shoduje se alespoň nkrát a maximálně mkrát.

Instance

Po pochopení výše uvedených regulárních požadavků můžeme psát SQL příkazy s regulárními výrazy dle vlastních požadavků.Níže uvedeme několik malých příkladů (název tabulky: person_tbl ), abychom prohloubili naše porozumění:

Najděte všechna data začínající na „st“ v poli názvu:

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

Najděte všechna data, která končí na „ok“ v poli názvu:

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

Najděte všechna data obsahující řetězec 'mar' v poli názvu:

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

Najděte všechna data v poli názvu, která začínají samohláskou nebo končí řetězcem „ok“:

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

Blog Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Jak spárovat regulární výrazy v databázi MySQL? MySQL regexp like use“ vám pomůže.

Vítejte u sdílení odkazu na tento článek:https://www.chenweiliang.com/cwl-492.html

Vítejte na telegramovém kanálu blogu Chen Weiliang, kde získáte nejnovější aktualizace!

🔔 Buďte první, kdo získá cenný „Průvodce používáním nástroje AI pro obsahový marketing ChatGPT“ v hlavním adresáři kanálu! 🌟
📚 Tento průvodce má obrovskou hodnotu, 🌟Toto je vzácná příležitost, nenechte si ji ujít! ⏰⌛💨
Sdílejte a lajkujte, pokud se vám líbí!
Vaše sdílení a lajky jsou naší neustálou motivací!

 

发表 评论

Vaše e-mailová adresa nebude zveřejněna. 必填 项 已 用 * 标注

滚动 到 顶部