Κανονικές εκφράσεις

Ο παρακάτω πίνακας εμφανίζει τις κανονικές εκφράσεις που μπορούν να χρησιμοποιηθούν για τη δημιουργία μιας νέας γλώσσας.

Όνομα στοιχείου Συμβατικό σύμβολο κανονικής έκφρασης Παραδείγματα και επεξηγήσεις χρήσης
Οποιοσδήποτε χαρακτήρας . c.t — υποδηλώνει τις εκφράσεις “cat”, “cot”, κλπ.
Χαρακτήρας ομάδας [] [b-d]ell — υποδηλώνει τις εκφράσεις “bell”, “cell”, “dell”, κλπ.

[ty]ell — υποδηλώνει τις εκφράσεις “tell” και “yell”

Χαρακτήρας εκτός ομάδας [^] [^y]ell — υποδηλώνει τις εκφράσεις “dell”, “cell”, “tell”, αλλά απαγορεύει την έκφραση “yell”

[^n-s]ell — υποδηλώνει τις εκφράσεις “bell”, “cell”, αλλά απαγορεύει τις εκφράσεις “nell”, “oell”, “pell”, “qell”, “rell” και “sell”

Ή | c(a|u)t — υποδηλώνει τις εκφράσεις “cat” και “cut”
0 ή περισσότερες αντιστοιχίες * 10* — υποδηλώνει τους αριθμούς 1, 10, 100, 1000, κλπ.
1 ή περισσότερες αντιστοιχίες + 10+ — επιτρέπει τους αριθμούς 10, 100, 1000, κλπ., αλλά απαγορεύει τον αριθμό 1
Γράμμα ή ψηφίο [0-9a-zA-Zа-яА-Я] [0-9a-zA-Zа-яА-Я] — επιτρέπει οποιονδήποτε μεμονωμένο χαρακτήρα
[0-9a-zA-Zа-яА-Я] — επιτρέπει οποιαδήποτε λέξη
Κεφαλαίο λατινικό γράμμα  [A-Z]  
Πεζό λατινικό γράμμα  [a-z]  
Κεφαλαίο κυριλλικό γράμμα [А-Я]  
Πεζό κυριλλικό γράμμα [а-я]  
Ψηφίο [0-9]  
Διάστημα \s  
  @ Δεσμευμένο.

Σημείωση:

  1. Για να χρησιμοποιήσετε ένα σύμβολο κανονικής έκφρασης ως κανονικό χαρακτήρα, χρησιμοποιήστε μια αντίστροφη κάθετο στην αρχή του. Για παράδειγμα, το [t-v]x+ αντιπροσωπεύει τα tx, txx, txx, κλπ., ux, uxx, κλπ., αλλά το \[t-v\]x+ αντιπροσωπεύει τα [t-v]x, [t-v]xx, [t-v]xxx, κλπ.
  2. Για να ομαδοποιήσετε στοιχεία κανονικών εκφράσεων, χρησιμοποιήστε παρενθέσεις. Για παράδειγμα, το (a|b)+|c αντιπροσωπεύει το γράμμα c ή οποιουσδήποτε συνδυασμούς όπως abbbaaabbb, ababab, κλπ. (μια λέξη οποιουδήποτε μη-μηδενικού μήκους στην οποία ενδέχεται να υπάρχει οποιοδήποτε πλήθος γραμμάτων a και b σε οποιαδήποτε σειρά), ενώ το a|b+|c αντιπροσωπεύει τα γράμματα a, c, καθώς και τα b, bb, bbb, κλπ.

Παραδείγματα

Εκτελείτε αναγνώριση ενός πίνακα με τρεις στήλες: η πρώτη αφορά στην ημερομηνία γέννησης, η δεύτερη στο όνομα και η τρίτη στη διεύθυνση e-mail. Μπορείτε να δημιουργήσετε νέες γλώσσες, Δεδομένα και Διεύθυνση και να καθορίσετε κανονικές εκφράσεις γι’ αυτές.

Κανονικές εκφράσεις για ημερομηνίες:

Ο αριθμός που υποδεικνύει μια ημέρα μπορεί να αποτελείται από ένα ψηφίο (1, 2, κλπ.) ή δύο ψηφία (02, 12), αλλά δεν μπορεί να είναι μηδενικός (00 ή 0). Η κανονική έκφραση για την ημερομηνία θα πρέπει να έχει την εξής εμφάνιση: ((|0)[1-9])|([1|2][0-9])|(30)|(31).

Η κανονική έκφραση για το μήνα θα πρέπει να έχει την εξής εμφάνιση: ((|0)[1-9])|(10)|(11)|(12).

Η κανονική έκφραση για το έτος θα πρέπει να έχει την εξής εμφάνιση: ([19][0-9][0-9]|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9]).

Αυτό που απομένει είναι να συνδυάσετε όλα αυτά τα στοιχεία μαζί και να διαχωρίσετε τους αριθμούς με τελείες (όπως 1.03.1999). Η τελεία είναι ένα σύμβολο κανονικής έκφρασης και θα πρέπει να τοποθετήσετε μια αντίστροφη κάθετο (\) πριν από αυτή. Η κανονική έκφραση για την πλήρη ημερομηνία θα πρέπει να έχει την εξής εμφάνιση:

((|0)[1-9])|([1|2][0-9])|(30)|(31)\.((|0)[1-9])|(10)|(11)|(12)\.((19)[0-9][0-9])|([0-9][0-9])|([20][0-9][0-9]|([0-9][0-9])

Κανονική έκφραση για τις διευθύνσεις e-mail:

[a-zA-Z0-9_\-\.]+\@[a-z0-9\.\-]+

Κανονικές εκφράσεις