Πώς ταιριάζουν οι κανονικές εκφράσεις της βάσης δεδομένων MySQL; MySQL regexp like χρήση

Βάση δεδομένων MySQLΠώς ταιριάζει η τυπική έκφραση;MySQL regexp όπως χρήση

Τακτικές εκφράσεις MySQL

Στα προηγούμενα κεφάλαια μάθαμε ότι η MySQL μπορεί να περάσει ΑΡΕΣΕΙ...% για ασαφή αντιστοίχιση.

Η MySQL υποστηρίζει επίσης την αντιστοίχιση άλλων κανονικών εκφράσεων Ο τελεστής REGEXP χρησιμοποιείται στη MySQL για αντιστοίχιση κανονικών εκφράσεων.

Εάν γνωρίζετε PHP ή Perl, είναι αρκετά απλό, καθώς η αντιστοίχιση τυπικών εκφράσεων της MySQL είναι παρόμοια με αυτά αυτών των σεναρίων.

Τα κανονικά μοτίβα στον παρακάτω πίνακα μπορούν να εφαρμοστούν στον τελεστή REGEXP.

Λειτουργίαπεριγραφή
^Ταιριάζει με την αρχή της συμβολοσειράς εισόδου.Το ^ αντιστοιχεί επίσης στη θέση μετά το '\n' ή το '\r' εάν έχει οριστεί η ιδιότητα Multiline του αντικειμένου RegExp.
$Ταιριάζει με το τέλος της συμβολοσειράς εισόδου.Εάν έχει οριστεί η ιδιότητα Multiline του αντικειμένου RegExp, το $ ταιριάζει επίσης με τη θέση πριν από το '\n' ή το '\r'.
.Ταιριάζει με οποιονδήποτε μεμονωμένο χαρακτήρα εκτός από το "\n".Για να αντιστοιχίσετε οποιονδήποτε χαρακτήρα συμπεριλαμβανομένου του '\n', χρησιμοποιήστε ένα μοτίβο όπως '[.\n]'.
[...]συλλογή χαρακτήρων.Ταιριάζει με οποιονδήποτε από τους χαρακτήρες που περιέχονται.Για παράδειγμα, το '[abc]' θα ταιριάζει με το "plai«α» στο ν».
[^…]Σύνολο αρνητικών χαρακτήρων.Ταιριάζει με οποιονδήποτε χαρακτήρα που δεν περιέχεται.Για παράδειγμα, το '[^abc]' θα ταιριάζει με το 'p' στο "απλό".
p1|p2|p3Ταιριάζει με p1 ή p2 ή p3.Για παράδειγμα, το 'z|food' θα ταιριάζει με το "z" ή το "food". Το '(z|f)ood' αντιστοιχεί στο "zood" ή "food".
*Ταιριάζει με την προηγούμενη υποέκφραση μηδέν ή περισσότερες φορές.Για παράδειγμα, το zo* θα ταιριάζει με το "z" με το "zoo". * ισοδυναμεί με {0,}.
+Ταιριάζει με την προηγούμενη υποέκφραση μία ή περισσότερες φορές.Για παράδειγμα, το 'zo+' θα ταιριάζει με το "zo" και το "zoo", αλλά όχι το "z". + ισοδυναμεί με {1,}.
{δεν}Το n είναι ένας μη αρνητικός ακέραιος.Ταιριάζει ακριβώς n φορές.Για παράδειγμα, το "o{2}" δεν θα ταιριάζει με το "o" στο "Bob", αλλά θα ταιριάζει και με τα δύο o στο "food".
{n,m}Τόσο ο m όσο και ο n είναι μη αρνητικοί ακέραιοι, όπου n <= m.Ταιριάζει τουλάχιστον n φορές και το πολύ m φορές.

Παράδειγμα

Αφού κατανοήσουμε τις παραπάνω κανονικές απαιτήσεις, μπορούμε να γράψουμε εντολές SQL με κανονικές εκφράσεις σύμφωνα με τις δικές μας απαιτήσεις.Παρακάτω θα παραθέσουμε μερικά μικρά παραδείγματα (όνομα πίνακα: person_tbl ) για να εμβαθύνουμε την κατανόησή μας:

Βρείτε όλα τα δεδομένα που ξεκινούν με 'st' στο πεδίο ονόματος:

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

Βρείτε όλα τα δεδομένα που τελειώνουν με "ok" στο πεδίο ονόματος:

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

Βρείτε όλα τα δεδομένα που περιέχουν τη συμβολοσειρά "mar" στο πεδίο ονόματος:

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

Βρείτε όλα τα δεδομένα στο πεδίο ονόματος που ξεκινά με φωνήεν ή τελειώνει με τη συμβολοσειρά "ok":

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

Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) shared "Πώς να αντιστοιχίσετε κανονικές εκφράσεις βάσης δεδομένων MySQL; MySQL regexp like usage» θα σας βοηθήσει.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-492.html

Καλώς ήρθατε στο κανάλι Telegram του ιστολογίου του Chen Weiliang για να λαμβάνετε τις τελευταίες ενημερώσεις!

🔔 Γίνετε ο πρώτος που θα αποκτήσει τον πολύτιμο "Οδηγό χρήσης εργαλείου τεχνητής νοημοσύνης μάρκετινγκ περιεχομένου ChatGPT" στον κορυφαίο κατάλογο του καναλιού! 🌟
📚 Αυτός ο οδηγός περιέχει τεράστια αξία, 🌟Αυτή είναι μια σπάνια ευκαιρία, μην τη χάσετε! ⏰⌛💨
Κοινοποιήστε και κάντε like αν σας αρέσει!
Η κοινή χρήση και τα like σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευθεί. 必填 项 已 用 * 标注

κύλιση στην κορυφή