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

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

Όνομα στοιχείου Συμβατικό σύμβολο κανονικής παράστασης Παραδείγματα και επεξηγήσεις χρήσης
Οποιοσδήποτε χαρακτήρας . 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]
@ Δεσμευμένο.

Σημείωση:

  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\.\-]+

11/2/2018 4:19:16 PM


Please leave your feedback about this article