Katalog artykułów
Baza danych MySQLJak pasuje wyrażenie regularne?MySQL wyrażenie regularne jak użycie
Wyrażenia regularne MySQL
W poprzednich rozdziałach dowiedzieliśmy się, że MySQL może być TAK JAK...% dla dopasowania rozmytego.
MySQL obsługuje również dopasowywanie innych wyrażeń regularnych.Operator REGEXP jest używany w MySQL do dopasowywania wyrażeń regularnych.
Jeśli znasz PHP lub Perl, jest to całkiem proste, ponieważ dopasowanie wyrażeń regularnych MySQL jest podobne do tych z tych skryptów.
Do operatora REGEXP można zastosować regularne wzorce z poniższej tabeli.
Tryb | opis |
---|---|
^ | Dopasowuje początek ciągu wejściowego.^ pasuje również do pozycji po '\n' lub '\r', jeśli ustawiona jest właściwość Multiline obiektu RegExp. |
$ | Dopasowuje koniec ciągu wejściowego.Jeśli ustawiona jest właściwość Multiline obiektu RegExp, $ dopasowuje również pozycję przed „\n” lub „\r”. |
. | Dopasowuje dowolny pojedynczy znak z wyjątkiem „\n”.Aby dopasować dowolny znak, w tym „\n”, użyj wzorca takiego jak „[.\n]”. |
[...] | zbiór postaci.Dopasowuje dowolny z zawartych znaków.Na przykład „[abc]” pasuje do „plai„a” w n”. |
[^…] | Zestaw znaków negatywnych.Dopasowuje dowolny znak, który nie jest zawarty.Na przykład „[^abc]” pasuje do „p” w „zwykłym”. |
p1|p2|p3 | Pasuje do p1, p2 lub p3.Na przykład „z|food” pasuje do „z” lub „food”. „(z|f)ood” pasuje do „zood” lub „jedzenie”. |
* | Dopasowuje poprzednie podwyrażenie zero lub więcej razy.Na przykład zo* pasowałoby zarówno do „z”, jak i „zoo”. * jest równoważne z {0,}. |
+ | Dopasowuje poprzednie podwyrażenie jeden lub więcej razy.Na przykład „zo+” pasowałoby do „zo” i „zoo”, ale nie do „z”. + jest równoważne {1,}. |
{nie} | n jest nieujemną liczbą całkowitą.Pasuje dokładnie n razy.Na przykład „o{2}” nie pasowałoby do „o” w „Bob”, ale pasowałoby do obu „o” w „food”. |
{n, m} | Zarówno m, jak i n są nieujemnymi liczbami całkowitymi, gdzie n <= m.Dopasowuje co najmniej n razy, a najwyżej m razy. |
Instancja
Po zrozumieniu powyższych wymagań regularnych możemy pisać instrukcje SQL z wyrażeniami regularnymi zgodnie z własnymi wymaganiami.Poniżej wymienimy kilka małych przykładów (nazwa tabeli: osoba_tbl ), aby pogłębić nasze zrozumienie:
Znajdź wszystkie dane zaczynające się od „st” w polu nazwy:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Znajdź wszystkie dane, które w polu nazwy kończą się na „ok”:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Znajdź wszystkie dane zawierające ciąg „mar” w polu name:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Znajdź wszystkie dane w polu nazwy, które zaczynają się od znaku samogłoski lub kończą się ciągiem „ok”:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Nadzieja Chen Weiliang Blog ( https://www.chenweiliang.com/ ) udostępniony "Jak dopasować wyrażenia regularne bazy danych MySQL? Wyrażenie regularne MySQL, takie jak użycie”.
Zapraszamy do udostępnienia linku do tego artykułu:https://www.chenweiliang.com/cwl-492.html
Witamy na kanale Telegram bloga Chen Weiliang, aby uzyskać najnowsze aktualizacje!
📚 Ten przewodnik zawiera ogromną wartość, 🌟To rzadka okazja, nie przegap jej! ⏰⌛💨
Udostępnij i polub, jeśli chcesz!
Twoje udostępnianie i polubienia to nasza ciągła motywacja!