⊗ppPmRgChG 230 of 447 menu

Ομάδες χαρακτήρων στις κανονικές εκφράσεις PHP

Υπάρχουν ειδικές εντολές που επιτρέπουν την επιλογή αμέσως ολόκληρων ομάδων χαρακτήρων. Η εντολή \d σημαίνει ψηφίο από 0 έως 9. Η εντολή \w δηλώνει ψηφίο, λατινικό γράμμα ή τον χαρακτήρα υπογράμμισης. Η εντολή \s δηλώνει κενό ή χαρακτήρα κενού: κενό, αλλαγή γραμμής, ταμπουλάτορα. Μπορείτε να αντιστρέψετε την τιμή της εντολής, γράφοντας κεφαλαίο γράμμα: για παράδειγμα, εάν \d - ψηφίο, τότε \D - όχι ψηφίο.

Παράδειγμα

Ας βρούμε όλα τα ψηφία:

<?php $str = '1 12 123'; $res = preg_replace('#\d#', '!', $str); ?>

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

'! !! !!!'

Παράδειγμα

Οι τελεστές επανάληψης θεωρούν τις εντολές-ομάδες ως ένα σύνολο, δηλαδή οι ομαδοποιητικές αγκύλες δεν είναι απαραίτητες. Στο επόμενο παράδειγμα το μοτίβο αναζήτησης φαίνεται ως εξής: ψηφίο από 0 έως 9 μία ή περισσότερες φορές:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\d+#', '!', $str); ?>

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

'! ! ! abc @@@'

Παράδειγμα

Στο επόμενο παράδειγμα το μοτίβο αναζήτησης φαίνεται ως εξής: οτιδήποτε μία ή περισσότερες φορές, αλλά όχι ψηφίο από 0 έως 9:

<?php $str = '123abc3@@'; $res = preg_replace('#\D+#', '!', $str); ?>

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

'123!3!'

Παράδειγμα

Σε αυτό το παράδειγμα το μοτίβο αναζήτησης φαίνεται ως εξής: χαρακτήρας κενού μία φορά:

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\s#', '!', $str); ?>

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

'1!12!123!abc!@@@'

Παράδειγμα

Σε αυτό το παράδειγμα το μοτίβο αναζήτησης φαίνεται ως εξής: ΟΧΙ χαρακτήρας κενού μία ή περισσότερες φορές. Όλες οι υποσυμβολοσειρές, που χωρίζονται με κενά, θα αντικατασταθούν με '!':

<?php $str = '1 12 123 abc @@@'; $res = preg_replace('#\S+#', '!', $str); ?>

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

'! ! ! ! !'

Παράδειγμα

Σε αυτό το παράδειγμα το μοτίβο αναζήτησης φαίνεται ως εξής: ψηφίο ή γράμμα μία ή περισσότερες φορές. Όλες οι υποσυμβολοσειρές, που αποτελούνται από ψηφία και γράμματα, θα αντικατασταθούν με '!':

<?php $str = '1 12 123a Abc @@@'; $res = preg_replace('#\w+#', '!', $str); ?>

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

'! ! ! ! @@@'

Παράδειγμα

Σε αυτό το παράδειγμα το μοτίβο αναζήτησης φαίνεται ως εξής: ΟΧΙ ψηφίο και ΟΧΙ γράμμα μία ή περισσότερες φορές. Σύμφωνα με αυτόν τον ορισμό στην περίπτωσή μας εμπίπτει '@@@' και όλα τα κενά (αφού και αυτά δεν είναι ψηφία ούτε γράμματα). Προσέξτε το γεγονός ότι στο τέλος υπάρχει ένα '!' - σε αυτό μετατράπηκε η συμβολοσειρά ' @@@' - με κενό μπροστά:

$str = '1 12 123 Abc @@@'; $res = preg_replace('#\W+#', '!', $str);

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

'1!12!123!Abc!'

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

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

<?php $str = 'a1a a2a a3a a4a a5a aba aca'; ?>

Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές, στις οποίες στα άκρα υπάρχουν γράμματα 'a', και ανάμεσά τους ένα ψηφίο.

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

<?php $str = 'a1a a22a a333a a4444a a55555a aba aca'; ?>

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

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

<?php $str = 'aa a1a a22a a333a a4444a a55555a aba aca'; ?>

Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές, στις οποίες στα άκρα υπάρχουν γράμματα 'a', και ανάμεσά τους οποιοσδήποτε αριθμός ψηφίων (συμπεριλαμβανομένου και του μηδενός ψηφίων, δηλαδή η συμβολοσειρά 'aa').

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

<?php $str = 'avb a1b a2b a3b a4b a5b abb acb'; ?>

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

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

<?php $str = 'ave a#b a2b a$b a4b a5b a-b acb'; ?>

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

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

<?php $str = 'ave a#a a2a a$a a4a a5a a-a aca'; ?>

Γράψτε μια κανονική έκφραση που θα αντικαταστήσει όλα τα κενά με '!'.

Ελληνικά
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη