Οι κανονικές εκφράσεις (regex) είναι ισχυρά μοτίβα για εύρεση, αντιστοίχιση και εξαγωγή κειμένου. Χρησιμοποιούνται στον προγραμματισμό, επικύρωση δεδομένων, λειτουργίες αναζήτησης-αντικατάστασης και ανάλυση αρχείων καταγραφής. Η πρόκληση είναι ότι η σύνταξη regex μπορεί να είναι δύσκολο να γίνει σωστά. Ο δωρεάν Regex Tester μας σας επιτρέπει να πειραματίζεστε σε πραγματικό χρόνο ώστε να βλέπετε ακριβώς τι αντιστοιχεί το μοτίβο σας.
Τι χρειάζεστε
- Ένα μοτίβο που θέλετε να δοκιμάσετε, ή ένα πρόβλημα αντιστοίχισης κειμένου για επίλυση
- Ένα πρόγραμμα περιήγησης (Chrome, Firefox, Safari ή Edge)
- Δεν απαιτείται λογαριασμός ή εγκατάσταση
Οδηγός βήμα προς βήμα
Ανοίξτε τον Regex Tester
Μεταβείτε στο εργαλείο Regex Tester. Θα δείτε δύο κύριες περιοχές: μία για το μοτίβο κανονικής έκφρασης και μία για το δοκιμαστικό κείμενο αντιστοίχισης.
Γράψτε το μοτίβο regex
Εισάγετε κανονική έκφραση στο πεδίο μοτίβου. Ξεκινήστε απλά και αυξήστε την πολυπλοκότητα. Για παράδειγμα, ξεκινήστε με μια λέξη όπως hello για αντιστοίχιση ακριβώς αυτού του κειμένου, στη συνέχεια βελτιώστε το μοτίβο με ειδικούς χαρακτήρες για ευρύτερα μοτίβα.
Εισάγετε δοκιμαστικό κείμενο
Επικολλήστε ή πληκτρολογήστε δείγμα κειμένου στην περιοχή δοκιμής. Συμπεριλάβετε παραδείγματα που πρέπει να αντιστοιχούν και παραδείγματα που δεν πρέπει. Το εργαλείο επισημαίνει όλες τις αντιστοιχίες σε πραγματικό χρόνο καθώς πληκτρολογείτε, οπότε βλέπετε αμέσως αν το μοτίβο λειτουργεί σωστά.
Βελτιώστε και επαληθεύστε
Ρυθμίστε το μοτίβο και παρακολουθήστε τις αντιστοιχίες να ενημερώνονται αμέσως. Προσθέστε οριακές περιπτώσεις στο δοκιμαστικό κείμενο — ασυνήθιστες εισόδους, οριακές συνθήκες και δύσκολες μορφές — για να βεβαιωθείτε ότι το regex τις χειρίζεται σωστά. Όταν είστε ικανοποιημένοι, αντιγράψτε το μοτίβο στον κώδικα ή το εργαλείο σας.
Καλό να ξέρετε Ο Regex Tester εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας. Δεν αποστέλλονται δεδομένα σε κανένα διακομιστή, οπότε μπορείτε με ασφάλεια να δοκιμάζετε μοτίβα σε ευαίσθητο κείμενο όπως διευθύνσεις email, αρχεία καταγραφής ή προσωπικά δεδομένα.
Βασική σύνταξη regex
| Σύμβολο | Σημασία | Παράδειγμα |
|---|---|---|
. |
Οποιοσδήποτε μεμονωμένος χαρακτήρας | h.t αντιστοιχεί "hat", "hit", "hot" |
* |
Μηδέν ή περισσότερα του προηγούμενου | ab*c αντιστοιχεί "ac", "abc", "abbc" |
+ |
Ένα ή περισσότερα του προηγούμενου | ab+c αντιστοιχεί "abc", "abbc" αλλά όχι "ac" |
? |
Μηδέν ή ένα του προηγούμενου | colou?r αντιστοιχεί "color" και "colour" |
\d |
Οποιοδήποτε ψηφίο (0-9) | \d{3} αντιστοιχεί "123", "456" |
\w |
Οποιοσδήποτε χαρακτήρας λέξης | \w+ αντιστοιχεί "hello", "test123" |
\s |
Οποιοδήποτε κενό | hello\sworld αντιστοιχεί "hello world" |
^ |
Αρχή συμβολοσειράς | ^Hello αντιστοιχεί "Hello world" |
$ |
Τέλος συμβολοσειράς | world$ αντιστοιχεί "Hello world" |
[abc] |
Οποιοσδήποτε χαρακτήρας στο σύνολο | [aeiou] αντιστοιχεί οποιοδήποτε φωνήεν |
(...) |
Ομάδα λήψης | (ab)+ αντιστοιχεί "ab", "abab" |
Συνηθισμένα μοτίβα για δοκιμή
Αντιγράψτε αυτά τα μοτίβα στον Regex Tester και πειραματιστείτε μαζί τους.
Διεύθυνση email
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
Αντιστοιχεί τυπικές μορφές email όπως user@example.com και first.last@company.co.uk. Δοκιμάστε με έγκυρες και μη έγκυρες μορφές email για να δείτε πώς χειρίζεται οριακές περιπτώσεις.
URL
https?://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(/[^\s]*)?
Αντιστοιχεί URL HTTP και HTTPS όπως https://example.com και http://site.org/path/page. Το s? κάνει προαιρετικό το "s" στο "https".
Αριθμός τηλεφώνου (αμερικανική μορφή)
(\+1[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}
Αντιστοιχεί διάφορες αμερικανικές μορφές τηλεφώνου: (555) 123-4567, 555-123-4567, +1 555.123.4567 και παρόμοιες παραλλαγές.
Συμβουλή Κατά τη δημιουργία regex, ξεκινήστε με το απλούστερο μοτίβο που αντιστοιχεί το κείμενο-στόχο και στη συνέχεια προσθέτετε περιορισμούς έναν-έναν. Η προσπάθεια γραφής σύνθετου regex με τη μία είναι πολύ δυσκολότερη από τη σταδιακή κατασκευή του ενώ παρακολουθείτε τις αντιστοιχίες να ενημερώνονται σε πραγματικό χρόνο.
Συνηθισμένα λάθη και πώς να τα αποφύγετε
Ξεχνώντας να γλιτώσετε ειδικούς χαρακτήρες. Χαρακτήρες όπως ., *, +, ?, (, ), [, ], {, } έχουν ειδική σημασία στο regex. Για αντιστοίχιση τους κυριολεκτικά, βάλτε πριν τους μια ανάστροφη κάθετο: \. αντιστοιχεί τελεία, \( αντιστοιχεί παρένθεση.
Να είστε πολύ άπληστοι. Από προεπιλογή, * και + αντιστοιχούν όσο κείμενο γίνεται. Αν θέλετε την πιο σύντομη αντιστοίχιση, προσθέστε ? μετά: .*? αντιστοιχεί όσο λίγο γίνεται.
Μη αγκύρωμα του μοτίβου σας. Χωρίς ^ και $, ένα μοτίβο όπως \d{3} θα αντιστοιχεί οποιαδήποτε τρία συνεχόμενα ψηφία οπουδήποτε στη συμβολοσειρά, συμπεριλαμβανομένων μεγαλύτερων αριθμών. Χρησιμοποιήστε αγκυρώσεις όταν χρειάζεται να αντιστοιχήσετε ολόκληρη τη συμβολοσειρά.
Σημαντικό Η σύνταξη regex ποικίλλει ελαφρώς μεταξύ γλωσσών προγραμματισμού και εργαλείων. Ένα μοτίβο που λειτουργεί στη JavaScript μπορεί να συμπεριφέρεται διαφορετικά στην Python ή PHP. Να δοκιμάζετε πάντα το τελικό μοτίβο στη γλώσσα ή περιβάλλον όπου θα το χρησιμοποιήσετε.
Συχνές ερωτήσεις
Τι είναι οι σημαίες regex;
Οι σημαίες τροποποιούν τον τρόπο εφαρμογής του μοτίβου. Συνηθισμένες σημαίες περιλαμβάνουν g (global — βρείτε όλες τις αντιστοιχίες, όχι μόνο την πρώτη), i (case-insensitive) και m (multiline — ^ και $ αντιστοιχούν οριακά γραμμών, όχι μόνο συμβολοσειράς). Ο Regex Tester σας επιτρέπει να ενεργοποιείτε/απενεργοποιείτε αυτές τις σημαίες.
Μπορώ να χρησιμοποιήσω regex για αναζήτηση και αντικατάσταση;
Ναι. Οι περισσότεροι επεξεργαστές κειμένου και γλώσσες προγραμματισμού υποστηρίζουν regex-based εύρεση και αντικατάσταση. Οι ομάδες λήψης (...) σας επιτρέπουν να αναφέρεστε στο αντιστοιχημένο κείμενο στη συμβολοσειρά αντικατάστασης.
Πώς αντιστοιχώ σε πολλές γραμμές;
Χρησιμοποιήστε τη σημαία s (dotall) για να κάνετε το . να αντιστοιχεί χαρακτήρες νέας γραμμής, ή χρησιμοποιήστε [\s\S] ως cross-platform εναλλακτική που αντιστοιχεί οποιονδήποτε χαρακτήρα συμπεριλαμβανομένων νέων γραμμών.
Επόμενα βήματα
Τώρα που μπορείτε να δημιουργείτε και να δοκιμάζετε μοτίβα regex, δοκιμάστε να τα χρησιμοποιήσετε στον κώδικα, τον επεξεργαστή κειμένου ή τα εργαλεία command-line σας. Για άλλα βοηθητικά προγράμματα προγραμματιστών, ελέγξτε τον Cron Parser για εκφράσεις προγραμματισμού ή τον JSON Formatter για εργασία με δομημένα δεδομένα.