Κανονικές εκφράσεις
-
Οι κανονικές εκφράσεις επιτρέπουν τον ορισμό σύνθετων συμβολοσειρών με
δηλωτικό τρόπο.
-
Με τον τρόπο αυτό μπορούμε να εκτελέσουμε σύνθετες αναζητήσεις σε αρχεία
κειμένου.
-
Υποστηρίζονται από εργαλεία όπως η εντολή grep,
γλώσσες όπως οι Perl, sed, awk
και προγράμματα όπως οι διορθωτές emacs και vi
και (σε περιορισμένη μορφή) το Microsoft Word.
Τα παρακάτω σύμβολα έχουν ειδικό νόημα:
- ^
- Αρχή της γραμμής
- $
- Τέλος της γραμμής
- .
- Οποιοδήποτε γράμμα
- [abc]
- Ένα από τα γράμματα a, b, ή c
- [a-z]
- Ένα από τα γράμματα a μέχρι z
- [^abc]
- Οποιοδήποτε γράμμα εκτός από τα a, b, και c.
- Έκφραση*
- Η έκφραση μηδέν ή περισσότερες φορές
- Έκφραση+
- Η έκφραση μία ή περισσότερες φορές (μόνο με την egrep)
- Έκφραση?
- Η έκφραση μία ή καμία φορά (μόνο με την egrep)
- Έκφραση1|Έκφραση1
- Η έκφραση1 ή η έκφραση2 (μόνο με την egrep)
- (Έκφραση)
- Το περιεχόμενο στην παρένθεση (μόνο με την egrep)
- \1 \2 ... \n
- To περιεχόμενο της νοστής παρένθεσης
Παράδειγμα:
$ grep 'abo' words
...
sabotage
seaboard
taboo
thereabouts
turnabout
vagabond
whereabout
...
$ grep '^abo' words
aboard
abode
abolish
abolition
abominable
abominate
aboriginal
$ grep bent words
absorbent
bent
benthic
debenture
incumbent
recumbent
$ grep 'bent$' words
absorbent
bent
incumbent
recumbent
$ grep -v '[AEIOUYaeiouy]' words
...
MD
MN
MPH
Mr
Mrs
Ms
m's
Mt
n
NBC
...
$ egrep '(.)(.)(.)\3\2\1' words
braggart
Brenner
collocation
diffident
dissident
glossolalia
grammar
grammarian
installation
staccato
suffuse