Προφανώς, μπορείτε να χρησιμοποιήσετε το |
(pipe?) για να αναπαραστήσετε το Η
, αλλά υπάρχει τρόπος να αναπαραστήσετε και το ΚΙ
;
Συγκεκριμένα, θα ήθελα να ταιριάξω παραγράφους κειμένου που περιέχουν ΟΛΑ μια συγκεκριμένη φράση, αλλά χωρίς συγκεκριμένη σειρά.
Χρησιμοποιήστε μια μη-καταναλωτική κανονική έκφραση.
Η τυπική (δηλ. Perl/Java) διατύπωση είναι:
(?=
expr)
Αυτό σημαίνει "ταιριάζω με expr αλλά μετά από αυτό συνεχίζω να ταιριάζω στο αρχικό σημείο αντιστοίχισης.",
Μπορείτε να κάνετε όσα από αυτά θέλετε, και αυτό θα είναι ένα "and." Παράδειγμα:
(?=match this expression)(?=match this too)(?=oh, and this)
Μπορείτε ακόμη και να προσθέσετε ομάδες σύλληψης μέσα στις μη καταναλώσιμες εκφράσεις, αν χρειάζεται να αποθηκεύσετε κάποια από τα δεδομένα που περιέχονται σε αυτές.
Η σειρά υπονοείται πάντα στη δομή της κανονικής έκφρασης. Για να πετύχετε αυτό που θέλετε, θα πρέπει να ταιριάξετε τη συμβολοσειρά εισόδου πολλές φορές με διαφορετικές εκφράσεις.
Αυτό που θέλετε να κάνετε είναι δεν δυνατό με μια απλή regexp.