Οδηγός Regex
Ένας οδηγός αναφοράς κανονικών εκφράσεων με δυνατότητα αναζήτησης και εκτύπωσης — κλάσεις χαρακτήρων, άγκυρες, ποσοδείκτες, ομάδες, lookaround, σημαίες και έτοιμα μοτίβα. Δωρεάν.
Κλάσεις χαρακτήρων
12\d
Οποιοδήποτε ψηφίο, ισοδύναμο με [0-9]
\D
Οποιοσδήποτε μη-ψηφίο χαρακτήρας
\w
Χαρακτήρας λέξης: γράμμα, ψηφίο ή underscore
\W
Οποιοσδήποτε μη-λέξης χαρακτήρας
\s
Οποιοδήποτε whitespace (κενό, tab, newline)
\S
Οποιοσδήποτε μη-whitespace χαρακτήρας
.
Οποιοσδήποτε χαρακτήρας εκτός newline
[abc]
Ένα από τα a, b ή c
[^abc]
Οποιοσδήποτε χαρακτήρας εκτός a, b ή c
[a-z]
Οποιοδήποτε πεζό γράμμα στο εύρος
[A-Za-z0-9]
Οποιοσδήποτε αλφαριθμητικός χαρακτήρας
[\d\s]
Συνδυασμός κλάσεων μέσα σε αγκύλες
Anchors & όρια
8^
Αρχή string (ή γραμμής σε multiline)
$
Τέλος string (ή γραμμής σε multiline)
\b
Όριο λέξης μεταξύ \w και \W
\B
Όχι όριο λέξης
\A
Αρχή ολόκληρου του string (PCRE)
\z
Τέλος ολόκληρου του string (PCRE)
\Z
Τέλος string, πριν από τελικό newline (PCRE)
\G
Αρχή της τρέχουσας προσπάθειας αντιστοίχισης (PCRE)
Quantifiers
11*
Μηδέν ή περισσότερα του προηγούμενου token
+
Ένα ή περισσότερα του προηγούμενου token
?
Μηδέν ή ένα (το κάνει προαιρετικό)
{n}
Ακριβώς n επαναλήψεις
{n,}
n ή περισσότερες επαναλήψεις
{n,m}
Μεταξύ n και m επαναλήψεων
*?
Lazy: μηδέν ή περισσότερα, όσο το δυνατόν λιγότερα
+?
Lazy: ένα ή περισσότερα, όσο το δυνατόν λιγότερα
??
Lazy: προαιρετικό, προτιμά το μηδέν
{2,5}?
Lazy φραγμένη επανάληψη
a++
Possessive: χωρίς backtracking (PCRE)
Ομάδες & backreferences
9(abc)
Capturing group, αποθηκεύει την αντιστοίχιση
(?:abc)
Non-capturing group
(?<name>abc)
Named capturing group
(?P<name>abc)
Named group, εναλλακτική σύνταξη PCRE
a|b
Alternation: αντιστοίχιση a ή b
(red|blue)
Ομαδοποιημένη alternation
\1
Backreference στο capturing group 1
\k<name>
Backreference σε named group
$1
Αναφορά group 1 σε αντικατάσταση
Lookaround
6(?=abc)
Positive lookahead: ακολουθείται από abc
(?!abc)
Negative lookahead: δεν ακολουθείται από abc
(?<=abc)
Positive lookbehind: προηγείται abc
(?<!abc)
Negative lookbehind: δεν προηγείται abc
\d(?=px)
Ψηφίο μόνο αν ακολουθείται από px
(?<=\$)\d+
Ψηφία μόνο αν προηγείται σύμβολο δολαρίου
Flags & modifiers
10g
Global: όλες οι αντιστοιχίσεις, όχι μόνο η πρώτη
i
Αντιστοίχιση χωρίς διάκριση πεζών-κεφαλαίων
m
Multiline: ^ και $ ταιριάζουν σε αλλαγές γραμμής
s
Dotall: το . ταιριάζει και σε newline
u
Λειτουργία Unicode (πλήρη code points)
x
Extended: αγνοεί whitespace, επιτρέπει σχόλια
y
Sticky: αντιστοίχιση από lastIndex (JS)
(?i)
Inline flag χωρίς διάκριση πεζών-κεφαλαίων (PCRE)
(?im)
Συνδυασμός inline flags
(?i:abc)
Scoped inline flag για ομάδα
Escapes & ειδικοί χαρακτήρες
11\.
Κυριολεκτική τελεία
\\
Κυριολεκτικό backslash
\/
Κυριολεκτικό forward slash (σε /.../ literals)
\t
Χαρακτήρας tab
\n
Newline (line feed)
\r
Carriage return
\f
Form feed
\0
Χαρακτήρας null
\xFF
Χαρακτήρας με διψήφιο hex κωδικό
\x{00E9}
Unicode code point με hex (PCRE)
\Qabc\E
Quote κυριολεκτικού μπλοκ (PCRE)
Συνηθισμένες συντομεύσεις token
10[0-9]
Ένα ψηφίο, ίδιο με \d
[a-fA-F0-9]
Ένα δεκαεξαδικό ψηφίο
\d+
Ένα ή περισσότερα ψηφία (ακέραιος)
\w+
Ένας ή περισσότεροι χαρακτήρες λέξης
\s+
Ένας ή περισσότεροι χαρακτήρες whitespace
.*
Οποιαδήποτε ακολουθία χαρακτήρων (greedy)
.*?
Οποιαδήποτε ακολουθία χαρακτήρων (lazy)
[^\s]+
Ένας ή περισσότεροι μη-whitespace χαρακτήρες
\b\w+\b
Μια ολόκληρη λέξη
(?:\r\n|\n|\r)
Οποιοδήποτε τέλος γραμμής
Πρακτικά patterns
10^[\w.+-]+@[\w-]+\.[\w.-]+$
Απλή διεύθυνση email
https?:\/\/[^\s]+
URL HTTP ή HTTPS
\b(?:\d{1,3}\.){3}\d{1,3}\b
Διεύθυνση IPv4
#?[a-fA-F0-9]{6}\b
Εξαψήφιο hex χρώμα
\d{4}-\d{2}-\d{2}
Ημερομηνία σε μορφή YYYY-MM-DD
\+?\d[\d\s-]{7,}\d
Αριθμός τηλεφώνου (χαλαρό)
[a-z0-9]+(?:-[a-z0-9]+)*
URL slug (πεζά, παύλες)
^\s+|\s+$
Αρχικό ή τελικό whitespace (trim)
\s{2,}
Δύο ή περισσότερα διαδοχικά κενά
<[^>]+>
Ένα HTML tag (απλοϊκό)
Ιδιότητες Unicode
10\p{L}
Οποιοδήποτε γράμμα από οποιαδήποτε γλώσσα
\P{L}
Οποιοσδήποτε χαρακτήρας που δεν είναι γράμμα
\p{N}
Οποιοσδήποτε αριθμητικός χαρακτήρας
\p{Lu}
Ένα κεφαλαίο γράμμα
\p{Ll}
Ένα πεζό γράμμα
\p{P}
Οποιοσδήποτε χαρακτήρας στίξης
\p{Sc}
Σύμβολο νομίσματος
\p{Han}
Χαρακτήρας γραφής Han (κινεζικά)
\p{Emoji}
Χαρακτήρας emoji (όπου υποστηρίζεται)
\p{Greek}
Χαρακτήρας από το ελληνικό αλφάβητο
Καμία καταχώριση δεν ταιριάζει με «:q».
Χρειάζεστε βοήθεια;
Βρήκατε πρόβλημα με αυτό το εργαλείο; Ενημερώστε μας.