§

Μοτίβο

Σημαίες
§

Δοκιμαστική συμβολοσειρά

§

Αντιστοιχίες

0 αντιστοιχίες

    Δεν υπάρχουν ακόμα αντιστοιχίες — πληκτρολογήστε ένα μοτίβο και μια δοκιμαστική συμβολοσειρά παραπάνω.

    §

    Λειτουργία αντικατάστασης

    Γρήγορη αναφορά

    Κλάσεις χαρακτήρων

    \d
    Οποιοδήποτε ψηφίο, ισοδύναμο του [0-9].
    \w
    Οποιοσδήποτε χαρακτήρας λέξης — γράμματα, ψηφία ή κάτω παύλα.
    \s
    Οποιοδήποτε κενό διάστημα — διάστημα, tab, νέα γραμμή κ.λπ.

    Άγκυρες

    \b
    Μια μηδενικού-πλάτους διαβεβαίωση σε ένα όριο λέξης.
    ^
    Αρχή της εισόδου (ή κάθε γραμμής όταν έχει οριστεί η σημαία m).
    $
    Τέλος της εισόδου (ή κάθε γραμμής όταν έχει οριστεί η σημαία m).

    Ποσοδείκτες

    *
    Μηδέν ή περισσότερα του προηγούμενου διακριτικού, greedy.
    +
    Ένα ή περισσότερα του προηγούμενου διακριτικού, greedy.
    ?
    Μηδέν ή ένα από το προηγούμενο διακριτικό — κάνει επίσης έναν προηγούμενο ποσοδείκτη lazy.
    {n,m}
    Μεταξύ n και m επαναλήψεων του προηγούμενου διακριτικού.

    Ομάδες

    (...)
    Ομάδα σύλληψης — εκτίθεται ως $1, $2, … σε αντικαταστάσεις.
    (?:...)
    Ομάδα μη-σύλληψης — ομαδοποιεί χωρίς να καταναλώνει μια θέση.
    (?...)
    Ονομασμένη ομάδα σύλληψης — εκτίθεται ως $ σε αντικαταστάσεις.

    Lookaround

    (?=...)
    Θετικό lookahead — αντιστοίχιση μόνο αν ακολουθείται από …
    (?!...)
    Αρνητικό lookahead — αντιστοίχιση μόνο αν ΔΕΝ ακολουθείται από …
    (?<=...)
    Θετικό lookbehind — αντιστοίχιση μόνο αν προηγείται από …
    (?
    Αρνητικό lookbehind — αντιστοίχιση μόνο αν ΔΕΝ προηγείται από …

    Διαφυγές

    \\
    Ένας κυριολεκτικός χαρακτήρας ανάστροφης καθέτου.
    \.
    Μια κυριολεκτική τελεία — διαφύγετε οποιονδήποτε μεταχαρακτήρα για να τον αντιστοιχίσετε κυριολεκτικά.

    Οι κανονικές εκφράσεις JavaScript τροφοδοτούν την καθημερινή δουλειά προγραμματιστών σε ολόκληρη τη στοίβα ΗΠΑ και ΗΒ: αντιστοίχιση συμβάσεων μηνυμάτων commit σε hooks Husky pre-commit, επικύρωση μορφών SKU σε θέματα Shopify, ανάλυση μορφής Apache Combined Log σε ένα ερώτημα AWS Athena ή απολύμανση πεδίων εισόδου σε μια φόρμα React πριν φτάσει ποτέ σε έναν επεξεργαστή Express. Ομάδες fintech του ΗΒ που επιβάλλουν μορφές κωδικών τραπέζης Open Banking (`\d{2}-\d{2}-\d{2}`) χτυπούν την ίδια μηχανή regex ECMAScript μέσα σε προγράμματα περιήγησης Chromium. Αυτός ο δοκιμαστής τρέχει κάθε μοτίβο έναντι του ενσωματωμένου κατασκευαστή `RegExp` του προγράμματος περιήγησης ακριβώς όπως η παραγωγή, με επιθεώρηση ομάδων σύλληψης, εναλλαγές σημαιών και ζωντανή επισήμανση — ώστε η έκφραση που αποστέλλετε και αυτή που δοκιμάζετε εδώ να είναι bit-ταυτόσημες.

    Πώς λειτουργούν οι κανονικές εκφράσεις στο πρόγραμμα περιήγησής σας;

    Κάθε περιβάλλον JavaScript διαθέτει μια εγγενή μηχανή κανονικών εκφράσεων — το new RegExp(pattern, flags) μεταγλωττίζει το μοτίβο σας, στη συνέχεια μέθοδοι όπως String.prototype.match, String.prototype.replace και RegExp.prototype.exec το τρέχουν έναντι οποιασδήποτε συμβολοσειράς εισόδου. Αυτός ο δοκιμαστής περιβάλλει αυτή τη μηχανή σε ένα UI ώστε να μπορείτε να επεξεργαστείτε, να τρέξετε και να επιθεωρήσετε μοτίβα χωρίς να φύγετε από το πρόγραμμα περιήγησής σας. Τίποτα από όσα πληκτρολογείτε — μοτίβο, σημαίες, δοκιμαστική συμβολοσειρά ή αντικατάσταση — δεν αποστέλλεται μέσω δικτύου.

    Πώς λειτουργεί ο δοκιμαστής regex;

    Ο αγωγός είναι μερικά σύντομα βήματα, όλα από την πλευρά του πελάτη σε κάθε πληκτρολόγηση (με αποκλιμάκωση στα 150 ms για να παραμένει η πληκτρολόγηση ρευστή):

    1. Το σώμα του μοτίβου σας διαβάζεται από την είσοδο παραπάνω (χωρίς μπροστινούς ή πίσω οριοθέτες / — είναι διακοσμητικοί). Οι επιλεγμένες σημαίες συνενώνονται σε μια συμβολοσειρά σημαιών όπως gi ή gimsuy.
    2. Το new RegExp(patternBody, flags) μεταγλωττίζει το μοτίβο. Αν η μηχανή πετάξει SyntaxError (π.χ. αταίριαστη παρένθεση ή μη έγκυρη διαφυγή), το μήνυμα εμφανίζεται πάνω από τη δοκιμαστική συμβολοσειρά και η λίστα αντιστοιχιών εκκαθαρίζεται. Το σφάλμα μεταγλώττισης είναι το πραγματικό err.message από τη V8 / SpiderMonkey / JavaScriptCore ώστε να ταιριάζει με ό,τι θα βλέπατε στα DevTools.
    3. Για τη λίστα αντιστοιχιών, ο δοκιμαστής απαριθμεί πάντα με μια συνθετική συνολική σημαία — ακόμα κι αν απενεργοποιήσετε το g, η λίστα εξακολουθεί να εμφανίζει κάθε αντιστοιχία. Η τυπική προστασία αντιστοιχίας μηδενικού πλάτους (if (m.index === rx.lastIndex) rx.lastIndex++) κρατά τον βρόχο από το να περιστρέφεται σε μοτίβα που αντιστοιχούν σε κενή συμβολοσειρά. Η λειτουργία Αντικατάστασης σέβεται το πραγματικό σύνολο σημαιών σας, ώστε το $& να συμπεριφέρεται όπως String.prototype.replace.
    4. Μεταξύ κάθε επανάληψης, ο δοκιμαστής ελέγχει performance.now() - start και διακόπτει μόλις περάσουν 50 ms. Αυτό προστατεύει από καταστροφικό backtracking σε εισόδους όπως (a+)+$ μιας μεγάλης ακολουθίας a — η καρτέλα διαφορετικά θα κρεμούσε. Η προστασία είναι best-effort: ένα παθολογικό μοτίβο μπορεί ακόμα να καταναλώσει χρόνο μέσα σε μία κλήση exec. Αν συμβεί αυτό, ανανεώστε την καρτέλα και ξαναγράψτε το μοτίβο με έναν μη-greedy ποσοδείκτη ή με μια ατομικού-στυλ κτητική μορφή (π.χ. [^x]*x).
    5. Η δοκιμαστική συμβολοσειρά χωρίζεται σε τμήματα σε κάθε εύρος αντιστοιχίας και τα αντιστοιχισμένα τμήματα τυλίγονται σε στοιχεία <mark class="rx-match rx-cap-N">, όπου N εναλλάσσεται σε έξι χρώματα παλέτας ώστε οι γειτονικές αντιστοιχίες να είναι εύκολο να διακριθούν με μια ματιά. Οι αριθμημένες ομάδες κάθε αντιστοιχίας (m[1], m[2], …) και οι ονομασμένες ομάδες (m.groups) αποδίδονται ως επισημασμένες γραμμές παρακάτω· αν έχει οριστεί η σημαία d, εμφανίζονται και τα ανά-ομάδα ευρετήρια [start, end].

    Γιατί να χρησιμοποιήσετε αυτό τον δοκιμαστή regex;

    • Ιδιωτικότητα: κάθε μοτίβο, δοκιμαστική συμβολοσειρά και αντικατάσταση τρέχει στο πρόγραμμα περιήγησής σας χρησιμοποιώντας την ενσωματωμένη μηχανή JavaScript RegExp. Τίποτα δεν φεύγει από την καρτέλα — σημαντικό όταν η είσοδος είναι ένα αρχείο καταγραφής πελάτη, ένα μοτίβο διαρρευσάντων διαπιστευτηρίων ή οτιδήποτε άλλο δεν θα επικολλούσατε σε μια hosted SaaS regex παιδική χαρά.
    • Ειλικρινής γεύση: ο δοκιμαστής εκθέτει την ακριβή μηχανή regex που τρέχουν τα Node.js, Chrome, Safari, Firefox και κάθε επικυρωτής φόρμας που βασίζεται σε πρόγραμμα περιήγησης. Δεν υπάρχει επίπεδο μετάφρασης Perl-flavor για να κρύψει λεπτές διαφορές — ό,τι λειτουργεί εδώ λειτουργεί και στον κώδικά σας.
    • Εντοπισμός σφαλμάτων ομάδων σύλληψης και ονομασμένων ομάδων: κάθε αριθμημένη ομάδα ($1, $2, …) και ονομασμένη ομάδα ($<year>) εμφανίζεται ανά αντιστοιχία ώστε να μπορείτε να χτίσετε έναν αναλυτή και να διαβάσετε τις θέσεις πίσω χωρίς να μαντεύετε. Η λειτουργία Αντικατάστασης σας επιτρέπει να αναμειγνύετε ελεύθερα τις ομάδες — το $2-$1 ανταλλάσσει τις δύο πρώτες θέσεις, το $<name> ρίχνει μια ονομασμένη θέση και το $& αντηχεί ολόκληρη την αντιστοιχία.
    • Προστασία από καταστροφικό backtracking: ένα όριο 50 ms στην απαρίθμηση διακόπτει παθολογικά μοτίβα όπως (a+)+$ πριν παγώσουν την καρτέλα. Βλέπετε ένα επεξηγηματικό σφάλμα αντί για ένα κρεμασμένο πρόγραμμα περιήγησης και η σελίδα ανακτάται αμέσως.

    Ποιες είναι οι συνήθεις εφαρμογές ενός δοκιμαστή regex;

    Οι κανονικές εκφράσεις εμφανίζονται στην ανάπτυξη ιστού, την ασφάλεια και την εργασία με δεδομένα — αυτός ο δοκιμαστής στοχεύει τις πιο συνηθισμένες περιπτώσεις χρήσης:

    • Επικύρωση φόρμας: δημιουργήστε ένα μοτίβο email, τηλεφώνου ή ταχυδρομικού κώδικα, επικολλήστε δείγματα εισόδων στη δοκιμαστική συμβολοσειρά και επιβεβαιώστε ότι κάθε θετική περίπτωση αντιστοιχεί και κάθε αρνητική δεν αντιστοιχεί πριν στείλετε το μοτίβο σε κώδικα παραγωγής.
    • Απόξεση αρχείων καταγραφής: επικολλήστε ένα κομμάτι εξόδου NGINX, εφαρμογής ή ελέγχου, γράψτε ένα μοτίβο με ονομασμένες ομάδες για τα μέρη που σας ενδιαφέρουν ((?<ip>…) (?<path>…)) και διαβάστε τις συλληφθείσες θέσεις ανά αντιστοιχία για να επιβεβαιώσετε ότι ο αναλυτής σας είναι σωστός.
    • Ανακατασκευή αναζήτησης-και-αντικατάστασης: χρησιμοποιήστε τη λειτουργία Αντικατάστασης για να ξαναγράψετε αναγνωριστικά σε ένα απόσπασμα — (\w+)\.set(\w+)\($1.$2 = μετατρέπει κλήσεις getter σε αναθέσεις ιδιοτήτων και η ζωντανή προεπισκόπηση δείχνει το αποτέλεσμα πριν το δεσμευτείτε σε ένα codemod.

    Πώς μοιάζει ένα παράδειγμα regex;

    Πάρτε το μοτίβο (\d{4})-(\d{2})-(\d{2}) με τη σημαία g, τρέξτε το έναντι της δοκιμαστικής συμβολοσειράς release 2025-11-15, prerelease 2026-05-25. Η μηχανή βρίσκει δύο αντιστοιχίες. Η πρώτη αντιστοιχία είναι 2025-11-15 με ομάδα 1 = 2025, ομάδα 2 = 11, ομάδα 3 = 15. Η δεύτερη αντιστοιχία είναι 2026-05-25 με την ίδια δομή ομάδων. Στη λειτουργία Αντικατάστασης, το πρότυπο αντικατάστασης $3/$2/$1 ξαναγράφει και τις δύο ημερομηνίες σε 15/11/2025 και 25/05/2026 — μια μετατροπή ISO-σε-DMY ενός μοτίβου που μπορείτε να επαληθεύσετε οπτικά πριν συνδέσετε το μοτίβο σε ένα σενάριο.

    Χρησιμοποιήστε αυτό τον δοκιμαστή ως τη γρήγορη διαδρομή για οποιαδήποτε εργασία regex — δημιουργία, εντοπισμός σφαλμάτων ή επαναγραφή μοτίβων. Όλα τρέχουν τοπικά· τίποτα δεν καταγράφεται· η μηχανή regex είναι ό,τι αποστέλλει το πρόγραμμα περιήγησής σας, οπότε η συμπεριφορά ταιριάζει με αυτό που θα δει ο κώδικας παραγωγής κατά την εκτέλεση.