⊗ppPmRgOC 241 of 447 menu

Η εντολή 'ή' στις κανονικές εκφράσεις της PHP

Σε αυτό το μάθημα θα αναλύσουμε την εντολή |, η οποία αντιπροσωπεύει μια πιο ισχυρή εκδοχή Η σε σύγκριση με την εντολή []. Αυτή η εντολή επιτρέπει τη διαίρεση της κανονικής έκφρασης σε πολλά μέρη. Σε αυτήν την περίπτωση, το αναζητούμενο μπορεί να ταιριάζει είτε με το ένα μέρος της κανονικής έκφρασης, είτε με το άλλο. Ας δούμε παραδείγματα.

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης είναι: τρία γράμματα 'a' ή τρία γράμματα 'b':

<?php $str = 'aaa bbb abb'; $res = preg_replace('#a{3}|b{3}#', '!', $str); ?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

'! ! abb'

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης είναι: τρία γράμματα 'a' ή από 1 και πάνω γράμματα 'b':

<?php $str = 'aaa bbb bbbb bbbbb axx'; $res = preg_replace('#a{3}|b+#', '!', $str); ?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

'! ! ! ! axx'

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης είναι: ένα ή περισσότερα γράμματα ή τρία ψηφία:

<?php $str = 'a ab abc 1 12 123'; $res = preg_replace('#[a-z]+|\d{3}#', '!', $str); ?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

'! ! ! 1 12 !'

Παράδειγμα

Η κάθετη μπάρα μπορεί να διαιρέσει την κανονική έκφραση όχι μόνο σε δύο μέρη, αλλά σε οποιονδήποτε αριθμό μερών:

<?php $str = 'aaa bbb ccc ddd'; $res = preg_replace('#a+|b+|c+#', '!', $str); ?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

'! ! ! ddd'

Παράδειγμα

Εάν η κάθετη μπάρα βρίσκεται μέσα σε κυκλικές παρενθέσεις, τότε το 'ή' λειτουργεί μόνο μέσα σε αυτές τις παρενθέσεις. Για παράδειγμα, ας βρούμε συμβολοσειρές που ταιριάζουν με το ακόλουθο μοτίβο: στην αρχή υπάρχει είτε 'a', είτε 'b' μία ή περισσότερες φορές, και στη συνέχεια δύο γράμματα 'x':

<?php $str = 'axx bxx bbxx exx'; $res = preg_replace('#(a|b+)xx#', '!', $str); ?>

Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:

'! ! ! exx'

Πρακτικές ασκήσεις

Δίνεται η συμβολοσειρά:

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές σύμφωνα με το μοτίβο: στα άκρα υπάρχουν γράμματα 'a', και ανάμεσά τους - είτε το γράμμα 'e' οποιονδήποτε αριθμό φορών είτε το γράμμα 'x' οποιονδήποτε αριθμό φορών.

Δίνεται η συμβολοσειρά:

<?php $str = 'aeeea aeea aea axa axxa axxxa'; ?>

Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές σύμφωνα με το μοτίβο: στα άκρα υπάρχουν γράμματα 'a', και ανάμεσά τους - είτε το γράμμα 'e' δύο φορές είτε το γράμμα 'x' οποιονδήποτε αριθμό φορών.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη