Skip to content

Regex Cheat Sheet (Κανονικές Εκφράσεις)

Αντιστοίχιση Χαρακτήρων

[abc] Αντιστοιχεί σε οποιονδήποτε χαρακτήρα μεταξύ των a, b ή c
[^abc] Δεν αντιστοιχεί στους χαρακτήρες a, b ή c. Το «^» ισχύει μόνο όταν εμφανίζεται ως ο πρώτος χαρακτήρας
[a-g] Αντιστοιχεί σε οποιονδήποτε χαρακτήρα στο εύρος a-g
[^a-g] Δεν αντιστοιχεί σε κανέναν χαρακτήρα στο εύρος a-g
[H-N] Αντιστοιχεί σε οποιονδήποτε χαρακτήρα στο εύρος H-N
[0-9] Αντιστοιχεί σε οποιονδήποτε χαρακτήρα στο εύρος 0-9
[a-gH-N] Αντιστοιχεί σε οποιονδήποτε χαρακτήρα στα εύρη a-g ή H-N
Wildcards:
. [^\n\r], αντιστοιχεί σε οποιονδήποτε χαρακτήρα εκτός από την αλλαγή γραμμής
\s whitespace: αλλαγή γραμμής, tab, κενό κ.λπ.
\S [^\s] (Οτιδήποτε εκτός από whitespace)
\d ψηφίο: [0-9]
\D [^\d] (Οτιδήποτε εκτός από ψηφίο)
\w χαρακτήρας λέξης: [0-9A-Za-z_]
\W [^\w] (Οτιδήποτε εκτός από χαρακτήρα λέξης)

Αντιστοίχιση Ομάδων

(a b)
(…) Ομάδα καταγραφής
(?:…) Ομάδα μη καταγραφής
(?<name>…) ή (?’name’…) Ονομασμένη ομάδα καταγραφής, το «name» μπορεί να προσαρμοστεί
(?(condition)true_regex false_regex)

Η group(0) χρησιμοποιείται για τη λήψη ολόκληρης της συμβολοσειράς αντιστοίχισης, ενώ η group(>0) μπορεί να λάβει υπο-ομάδες καταγραφής από το συνολικό αποτέλεσμα.

Σημείωση: Οι ονομασμένες ομάδες καταγραφής υποστηρίζονται από την Java 1.7 και μετά (περνώντας τη συμβολοσειρά name ως παράμετρο στη μέθοδο group). Η JS και η Python προς το παρόν δεν υποστηρίζουν εγγενώς ονομασμένες ομάδες καταγραφής.

Εύρος Συχνοτήτων (Ποσοδείκτες)

{3} Το προηγούμενο στοιχείο εμφανίζεται ακριβώς 3 φορές, ισοδύναμο με {3,3}
{3,6} Το προηγούμενο στοιχείο εμφανίζεται 3 έως 6 φορές
{3,} Το προηγούμενο στοιχείο εμφανίζεται τουλάχιστον 3 φορές
{0,6} Το προηγούμενο στοιχείο εμφανίζεται το πολύ 6 φορές
Wildcards:
* {0,} (Μηδέν ή περισσότερες)
+ {1,} (Μία ή περισσότερες)
? {0,1} (Μηδέν ή μία)
\w* Greedy mode (Άπληστη λειτουργία)
\w*? Non-greedy mode

Άγκυρες (Σημεία Σταθεροποίησης)

^ Αρχή συμβολοσειράς
$ Τέλος συμβολοσειράς
\b Boundary, όριο λέξης
\B Όχι όριο λέξης
Lookaround Assertions:
(?=exp) Θετική πρόβλεψη (Positive lookahead - επίθημα exp)
(?<=exp) Θετική αναδρομή (Positive lookbehind - πρόθημα exp)
(?!exp) Αρνητική πρόβλεψη (Negative lookahead - χωρίς επίθημα exp)
(?<!exp) Αρνητική αναδρομή (Negative lookbehind - χωρίς πρόθημα exp)

Η \b(\w+)\b είναι ισοδύναμη με την (?<=\W?)(\w+)(?=\W?)