Κάθε βασικό token του regex: άγκυρες, κλάσεις χαρακτήρων, quantifiers, ομάδες και flags. Τι σημαίνει το καθένα, με μια συγκεκριμένη αντιστοίχιση. Ο γρήγορος πίνακας αναφοράς που συνοδεύει το εργαλείο Regex Tester.
Τα tokens του regex συνδυάζονται: βάλτε μια άγκυρα, μια κλάση χαρακτήρων και ένα quantifier να χτίσουν ένα μοτίβο. Το ^ καρφώνει την αρχή, το \d ταιριάζει ένα ψηφίο, και το {2,4} ορίζει πόσες φορές. Συνδυάστε τα ως ^\d{2,4}$ για να ταιριάξετε μια ολόκληρη συμβολοσειρά από δύο έως τέσσερα ψηφία. Διαβάστε ένα μοτίβο από αριστερά προς τα δεξιά, ένα token τη φορά. Το συνοδευτικό εργαλείο Regex Tester σας επιτρέπει να δοκιμάσετε οποιοδήποτε από αυτά τα tokens ζωντανά στο δικό σας κείμενο.
Ταιριάζει τη θέση στην αρχή της συμβολοσειράς, ή την αρχή μιας γραμμής με το flag m.
^He → He
Ταιριάζει τη θέση στο τέλος της συμβολοσειράς, ή το τέλος μιας γραμμής με το flag m.
lo$ → lo
Ταιριάζει ένα όριο λέξης: τη θέση ανάμεσα σε χαρακτήρα λέξης και σε χαρακτήρα που δεν είναι.
\bcat\b → cat
Ταιριάζει ένα μη όριο λέξης: τη θέση ανάμεσα σε δύο χαρακτήρες λέξης ή δύο που δεν είναι.
\Bar → ar
Κλάσεις χαρακτήρων
Ταιριάζει οποιονδήποτε μεμονωμένο χαρακτήρα εκτός από αλλαγή γραμμής, εφόσον δεν έχει οριστεί το flag s.
a.c → abc
Ταιριάζει οποιοδήποτε ψηφίο, από 0 έως 9.
\d → 7
Ταιριάζει οποιονδήποτε χαρακτήρα που δεν είναι ψηφίο.
\D → a
Ταιριάζει οποιονδήποτε χαρακτήρα λέξης: γράμμα, ψηφίο ή κάτω παύλα.
\w → _
Ταιριάζει οποιονδήποτε χαρακτήρα που δεν είναι χαρακτήρας λέξης.
\W → !
Ταιριάζει οποιονδήποτε χαρακτήρα κενού: ένα κενό, έναν στηλοθέτη ή μια αλλαγή γραμμής.
a\sb → a b
Ταιριάζει οποιονδήποτε χαρακτήρα που δεν είναι κενό.
\S → a
Ταιριάζει οποιονδήποτε από τους χαρακτήρες που παρατίθενται μέσα στις αγκύλες.
[aeiou] → e
Ταιριάζει οποιονδήποτε χαρακτήρα που δεν είναι ένας από εκείνους μέσα στις αγκύλες.
[^aeiou] → s
Ταιριάζει οποιονδήποτε μεμονωμένο χαρακτήρα στο δεδομένο εύρος, από a έως z.
[a-z] → m
Ταιριάζει οποιονδήποτε μεμονωμένο χαρακτήρα συμπεριλαμβανομένης αλλαγής γραμμής — η συνηθισμένη έκφραση για μια τελεία που εκτείνεται σε γραμμές.
[\s\S] → \n
Ταιριάζει οποιοδήποτε γράμμα Unicode από οποιοδήποτε σύστημα γραφής, όταν έχει οριστεί το flag u.
\p{L} → é
Ταιριάζει οποιονδήποτε αριθμητικό χαρακτήρα Unicode από οποιοδήποτε σύστημα γραφής, όταν έχει οριστεί το flag u.
\p{N} → ٣
Escape: ταιριάζει έναν χαρακτήρα αλλαγής γραμμής (line feed).
\n → line feed
Escape: ταιριάζει έναν χαρακτήρα στηλοθέτη.
\t → tab
Escape: ταιριάζει έναν χαρακτήρα carriage return.
\r → carriage return
Ταιριάζει τον μεμονωμένο χαρακτήρα με τον δεδομένο διψήφιο δεκαεξαδικό κωδικό.
\x41 → A
Ταιριάζει τον μεμονωμένο χαρακτήρα με το δεδομένο δεκαεξαδικό σημείο κώδικα, όταν έχει οριστεί το flag u.
\u{1F600} → 😀
Τομή κλάσεων, με το flag v: ταιριάζει χαρακτήρες που ανήκουν και στα δύο σύνολα ταυτόχρονα.
[[a-z]&&[^aeiou]] → t
Quantifiers
Ταιριάζει το προηγούμενο token μηδέν ή περισσότερες φορές.
ab* → abbb
Ταιριάζει το προηγούμενο token μία ή περισσότερες φορές.
a+ → aaa
Ταιριάζει το προηγούμενο token μηδέν ή μία φορά, καθιστώντας το προαιρετικό.
colou?r → color
Ταιριάζει το προηγούμενο token ακριβώς n φορές.
a{3} → aaa
Ταιριάζει το προηγούμενο token n ή περισσότερες φορές.
a{2,} → aaaa
Ταιριάζει το προηγούμενο token από n έως m φορές, συμπεριλαμβανομένων των ορίων.
a{2,4} → aaa
Τεμπέλικο quantifier: ταιριάζει το προηγούμενο token μηδέν ή περισσότερες φορές, παίρνοντας όσο λιγότερο γίνεται.
<.*?> on <a><b> → <a>
Τεμπέλικο quantifier: ταιριάζει το προηγούμενο token μία ή περισσότερες φορές, παίρνοντας όσο λιγότερο γίνεται.
\d+? on 123 → 1
Τεμπέλικο quantifier: ταιριάζει το προηγούμενο token μηδέν ή μία φορά, προτιμώντας το μηδέν.
ab?? on ab → a
Τεμπέλικο quantifier: ταιριάζει το προηγούμενο token από n έως m φορές, παίρνοντας όσο λιγότερο γίνεται.
a{1,3}? on aaa → a
Κτητικό quantifier (PCRE): ταιριάζει το προηγούμενο token μηδέν ή περισσότερες φορές και το κρατά, χωρίς να κάνει ποτέ backtracking για άλλες διαιρέσεις.
.*+a on aaa → no match
Ομάδες και εναλλαγή
Ομάδα καταγραφής: ταιριάζει την ακολουθία και τη θυμάται για backreferences.
(ab)+ → abab
Ομάδα χωρίς καταγραφή: ταιριάζει την ακολουθία χωρίς να τη θυμάται.
(?:ab)+ → abab
Θετικό lookahead: ταιριάζει αν οι επόμενοι χαρακτήρες είναι abc, χωρίς να τους καταναλώνει.
a(?=b) → a
Αρνητικό lookahead: ταιριάζει αν οι επόμενοι χαρακτήρες δεν είναι abc, χωρίς να τους καταναλώνει.
a(?!b) → a
Backreference: ταιριάζει ακριβώς το κείμενο που κατέγραψε η ομάδα 1.
(a)\1 → aa
Εναλλαγή: ταιριάζει είτε την έκφραση πριν από την κάθετο είτε αυτή μετά.
cat|dog → dog
Ονομασμένη ομάδα καταγραφής: ταιριάζει την ακολουθία και τη θυμάται με το δεδομένο όνομα.
(?<year>\d{4}) → year = 2026
Θετικό lookbehind: ταιριάζει αν οι προηγούμενοι χαρακτήρες είναι abc, χωρίς να τους καταναλώνει.
(?<=a)b → b
Αρνητικό lookbehind: ταιριάζει αν οι προηγούμενοι χαρακτήρες δεν είναι abc, χωρίς να τους καταναλώνει.
(?<!a)b → b
Ονομασμένο backreference: ταιριάζει ακριβώς το κείμενο που κατέγραψε η ονομασμένη ομάδα.
(?<w>\w+) \k<w> → the the
Ατομική ομάδα (PCRE): ταιριάζει την ακολουθία μία φορά και δεν κάνει ποτέ backtracking μέσα της.
(?>a+)ab on aab → no match
Branch reset (PCRE): εναλλαγή όπου κάθε κλάδος επαναχρησιμοποιεί τους ίδιους αριθμούς ομάδων.
(?|(cat)|(dog)) → \1 = dog
Flags
Καθολικό flag: βρίσκει κάθε αντιστοίχιση στη συμβολοσειρά, όχι μόνο την πρώτη.
/a/g on aaa → a, a, a
Flag αδιαφορίας για πεζά-κεφαλαία: αγνοεί τη μορφή των γραμμάτων κατά την αντιστοίχιση.
/Hi/i → hi
Πολυγραμμικό flag: αντιμετωπίζει τα ^ και $ ως αρχή και τέλος κάθε γραμμής.
/^a/m matches at the start of each line
Flag dotall: επιτρέπει στην τελεία να ταιριάξει και μια αλλαγή γραμμής.
/a.b/s → a\nb
Flag Unicode: αντιμετωπίζει το μοτίβο και την είσοδό του ως σημεία κώδικα Unicode.
/\u{1F600}/u → 😀
Flag sticky: ταιριάζει μόνο στην ακριβή θέση που ορίζει το lastIndex.
/ab/y matches only at lastIndex
Flag δεικτών: προσθέτει τη θέση αρχής και τέλους κάθε αντιστοίχισης στο αποτέλεσμα.
/b/d on abc → indices [1, 2]
Flag συνόλων Unicode: ένα αυστηρότερο u που επιτρέπει επίσης πράξεις συνόλων μέσα σε κλάση.
/[a-z&&[^aeiou]]/v → t
Εκτεταμένο flag (PCRE): αγνοεί τα κενά χωρίς escape και τα σχόλια # μέσα στο μοτίβο.