Artikkelkatalog
MySQL-databaseHvordan samsvarer det regulære uttrykket?MySQL regexp som bruk
MySQL regulære uttrykk
I de forrige kapitlene har vi lært at MySQL kan være det SOM...% for uklar matching.
MySQL støtter også matching av andre regulære uttrykk. REGEXP-operatoren brukes i MySQL for matching av regulære uttrykk.
Hvis du kjenner PHP eller Perl, er det ganske enkelt, siden MySQLs regulære uttrykksmatching ligner på disse skriptene.
De vanlige mønstrene i tabellen nedenfor kan brukes på REGEXP-operatøren.
Mode | beskrivelse |
---|---|
^ | Tilsvarer begynnelsen av inndatastrengen.^ samsvarer også med posisjonen etter '\n' eller '\r' hvis Multiline-egenskapen til RegExp-objektet er satt. |
$ | Tilsvarer slutten av inndatastrengen.Hvis Multiline-egenskapen til RegExp-objektet er satt, samsvarer $ også med posisjonen før '\n' eller '\r'. |
. | Matcher ethvert enkelt tegn unntatt "\n".For å matche et hvilket som helst tegn inkludert '\n', bruk et mønster som '[.\n]'. |
[...] | samling av karakterer.Matcher en av de inneholdte tegnene.For eksempel vil '[abc]' samsvare med "plai'a' i n". |
[^...] | Negativt tegnsett.Matcher alle tegn som ikke finnes.For eksempel vil '[^abc]' matche 'p' i "vanlig". |
p1|p2|p3 | Matcher p1 eller p2 eller p3.For eksempel vil 'z|mat' samsvare med enten "z" eller "mat". '(z|f)ood' samsvarer med "zood" eller "mat". |
* | Matcher det foregående underuttrykket null eller flere ganger.For eksempel vil zo* matche "z" så vel som "zoo". * tilsvarer {0,}. |
+ | Matcher det foregående underuttrykket én eller flere ganger.For eksempel vil 'zo+' samsvare med "zo" og "zoo", men ikke "z". + tilsvarer {1,}. |
{N} | n er et ikke-negativt heltall.Matcher nøyaktig n ganger.For eksempel vil ikke 'o{2}' samsvare med 'o' i "Bob", men vil samsvare med begge o'er i "mat". |
{n,m} | Både m og n er ikke-negative heltall, der n <= m.Matcher minst n ganger og maksimalt m ganger. |
Forekomst
Etter å ha forstått de regulære kravene ovenfor, kan vi skrive SQL-setninger med regulære uttrykk i henhold til våre egne krav.Nedenfor vil vi liste opp noen små eksempler (tabellnavn: person_tbl ) for å utdype vår forståelse:
Finn alle data som begynner med 'st' i navnefeltet:
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
Finn alle data som slutter med 'ok' i navnefeltet:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';
Finn alle data som inneholder 'mar'-strengen i navnefeltet:
mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';
Finn alle data i navnefeltet som begynner med et vokaltegn eller slutter med strengen 'ok':
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';
Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) delte "Hvordan matche MySQL-databasens regulære uttrykk? MySQL regexp som bruk" vil hjelpe deg.
Velkommen til å dele lenken til denne artikkelen:https://www.chenweiliang.com/cwl-492.html
Velkommen til Telegram-kanalen til Chen Weiliangs blogg for å få de siste oppdateringene!
📚 Denne guiden inneholder enorm verdi, 🌟Dette er en sjelden mulighet, ikke gå glipp av den! ⏰⌛💨
Del og lik om du vil!
Din deling og likes er vår kontinuerlige motivasjon!