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

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

Σημείωση:

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

14.01.2020 17:26:18

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.