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

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

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

02.11.2018 16:19:16

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.