Hvordan samsvarer MySQL-databasens regulære uttrykk? MySQL regexp som bruk

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.

Modebeskrivelse
^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|p3Matcher 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!

🔔 Vær den første til å få den verdifulle "ChatGPT Content Marketing AI Tool Usage Guide" i kanalens toppkatalog! 🌟
📚 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!

 

发表 评论

E-postadressen din vil ikke offentliggjøres. 必填 项 已 用 * Merkelapp

bla til toppen