⊗jsSpREHHy 110 of 294 menu

Παύλα εντός συνόλων στις κανονικές εκφράσεις JavaScript

Η παύλα - είναι επίσης ειδικός χαρακτήρας εντός [ ] (ενώ εκτός - όχι). Εάν χρειάζεστε την ίδια την παύλα ως χαρακτήρα - τότε τοποθετήστε την σε θέση, όπου δεν θα γίνει αντιληπτή ως διαχωριστής ομάδας.

Γιατί είναι σημαντικό: μπορείτε να δημιουργήσετε μια ομάδα χαρακτήρων, χωρίς να το παρατηρήσετε. Για παράδειγμα, έτσι - '[:-@]' - νομίζετε ότι επιλέγετε άνω και κάτω τελεία, παύλα και at, αλλά στην πραγματικότητα προκύπτει ομάδα χαρακτήρων μεταξύ : και @. Σε αυτήν την ομάδα περιλαμβάνονται οι ακόλουθοι χαρακτήρες: ? < = > : ;

Από πού προέρχονται; Από τον πίνακα ASCII - η άνω και κάτω τελεία έχει μικρότερο αριθμό από το at - και προκύπτει ομάδα. Δηλαδή όλες οι ομάδες προκύπτουν βάσει του πίνακα ASCII (αν θέλετε μπορείτε να το χρησιμοποιήσετε αυτό).

Πώς να το αντιμετωπίσετε: τοποθετήστε τον χαρακτήρα παύλας σε θέση όπου σίγουρα δεν θα γίνει αντιληπτός ως σύμβολο ομάδας, για παράδειγμα, στην αρχή ή στο τέλος (δηλαδή μετά το [ή πριν από το ]).

Μπορείτε επίσης να δώσετε escape στην παύλα - τότε θα συμβολίζει τον εαυτό της ανεξάρτητα από τη θέση. Για παράδειγμα, αντί για [:-@] να γράψετε [:\-@] - και δεν θα υπάρχει πλέον ομάδα, αλλά θα υπάρχουν τρεις χαρακτήρες - άνω και κάτω τελεία, παύλα και at @.

Παράδειγμα

Στο επόμενο παράδειγμα το μοτίβο αναζήτησης είναι: ψηφίο 1, μετά γράμμα από 'a' έως 'z', μετά ψηφίο 2:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a-z]2/g, '!');

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

'! 1-2 ! !'

Παράδειγμα

Ας κάνουμε τώρα escape στην παύλα. Ως αποτέλεσμα το μοτίβο αναζήτησης είναι: ψηφίο 1, μετά γράμμα 'a', ή παύλα, ή γράμμα 'z', μετά ψηφίο 2:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a\-z]2/g, '!');

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

'! ! 1c2 !'

Παράδειγμα

Μπορείτε απλά να μετακινήσετε την παύλα, χωρίς να κάνετε escape:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[az-]2/g, '!');

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

'! ! 1c2 !'

Παράδειγμα

Στο επόμενο παράδειγμα το μοτίβο αναζήτησης είναι: πρώτος χαρακτήρας - είναι μικρά γράμματα ή παύλα '-', μετά δύο γράμματα 'x':

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-z-]xx/g, '!');

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

'! Axx ! @xx'

Παράδειγμα

Στο επόμενο παράδειγμα το μοτίβο αναζήτησης είναι: πρώτος χαρακτήρας - είναι μικρά, κεφαλαία γράμματα ή παύλα '-', μετά δύο γράμματα 'x':

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-zA-Z-]xx/g, '!');

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

'! ! ! @xx'

Παράδειγμα

Μπορείτε να τοποθετήσετε την παύλα ανάμεσα σε δύο ομάδες - εκεί σίγουρα δεν θα δημιουργήσει μια ακόμη ομάδα:

let str = 'axx 9xx -xx @xx'; let res = str.replace(/[a-z-0-9]xx/g, '!');

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

'! ! ! @xx'

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

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

let str = 'xaz xBz xcz x-z x@z';

Βρείτε όλες τις συμβολοσειρές σύμφωνα με το ακόλουθο μοτίβο: γράμμα 'x', κεφαλαίο ή μικρό γράμμα ή παύλα, γράμμα 'z'.

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

let str = 'xaz x$z x-z xcz x+z x%z x*z';

Βρείτε όλες τις συμβολοσειρές σύμφωνα με το ακόλουθο μοτίβο: γράμμα 'x', μετά ή δολάριο, ή παύλα ή συν, μετά γράμμα 'z'.

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