Regex Tester
Δοκιμάστε regular expressions σε πραγματικό χρόνο με επισήμανση matches και capture groups. Δωρεάν online regex debugger, 100% στον browser σας.
Γρήγορη αναφορά regex
| Μοτίβο | Περιγραφή |
|---|---|
. | Οποιοσδήποτε χαρακτήρας (εκτός newline) |
^ | Αρχή string / γραμμής |
$ | Τέλος string / γραμμής |
* | 0 ή περισσότερες επαναλήψεις |
+ | 1 ή περισσότερες επαναλήψεις |
? | 0 ή 1 (προαιρετικό) |
{n} | Ακριβώς n επαναλήψεις |
{n,m} | Μεταξύ n και m επαναλήψεις |
\d | Ψηφίο [0-9] |
\D | Μη-ψηφίο |
\w | Χαρακτήρας λέξης [a-zA-Z0-9_] |
\W | Μη-χαρακτήρας λέξης |
\s | Κενό |
\S | Μη-κενό |
\b | Όριο λέξης |
[abc] | Κλάση: a, b ή c |
[^abc] | Άρνηση: όχι a, b ή c |
(abc) | Capturing group |
(?:abc) | Non-capturing group |
(?<n>abc) | Named group "n" |
a|b | Εναλλακτική: a ή b |
Αναφορά
Τι είναι ένα regular expression;
Ένα regular expression (regex) είναι μια ακολουθία χαρακτήρων που ορίζει ένα μοτίβο αναζήτησης. Τα regex χρησιμοποιούνται σχεδόν σε κάθε γλώσσα προγραμματισμού και εργαλείο — από επικύρωση φορμών σε JavaScript μέχρι ανάλυση log σε Python και αναζήτηση-αντικατάσταση σε text editors. Ένα μοτίβο συνδυάζει κυριολεκτικούς χαρακτήρες, μεταχαρακτήρες (. ^ $ * + ? { } [ ] | ( )) και κλάσεις χαρακτήρων (\d ψηφίο, \w χαρακτήρας λέξης, \s κενό). Αυτό το εργαλείο χρησιμοποιεί τον ECMAScript regex engine (τον ίδιο που χρησιμοποιούν JavaScript, TypeScript και Node.js).
Επεξήγηση flags regex
g — global: βρίσκει όλα τα matches, όχι μόνο το πρώτο. Απαραίτητο για μέτρηση εμφανίσεων ή αντικατάσταση κάθε στιγμιοτύπου.
i — ignore case: ταιριάζει κεφαλαία και πεζά εναλλακτικά. Το /hello/i ταιριάζει "Hello", "HELLO" και "hello".
m — multiline: τα ^ και $ ταιριάζουν αρχή και τέλος κάθε γραμμής, όχι μόνο ολόκληρου του string. Κρίσιμο για ανάλυση log γραμμή προς γραμμή.
s — dotAll: ο μεταχαρακτήρας . ταιριάζει και χαρακτήρες newline. Χωρίς αυτό το flag, η . σταματά στις αλλαγές γραμμής.
Capturing groups
Τα capturing groups (pattern) καταγράφουν το matched substring για εξαγωγή ή αναφορά πίσω. Τα named groups (?<name>pattern) αναθέτουν αναγνώσιμο όνομα στην καταγραφή, προσβάσιμο μέσω match.groups.name — πολύ πιο σαφές από αριθμημένα groups σε σύνθετα μοτίβα. Τα non-capturing groups (?:pattern) ομαδοποιούν χωρίς καταγραφή — χρήσιμα για εφαρμογή quantifiers σε ακολουθία χωρίς δημιουργία περιττής καταγραφής. Οι backreferences όπως $1, $2 σε strings αντικατάστασης αναφέρονται στο καταγεγραμμένο κείμενο κατά αριθμό group.
Απόρρητο
Το matching τρέχει 100% στον browser σας.