⊗jsSpREMl 114 of 294 menu

Πολυγραμμικότητα στις κανονικές εκφράσεις της JavaScript

Οι κανονικές εκφράσεις όταν δουλεύουν με πολυγραμμικές συμβολοσειρές έχουν τα δικά τους χαρακτηριστικά. Ας τα εξετάσουμε με το παράδειγμα της ακόλουθης συμβολοσειράς, που περιέχει συνηθισμένους χαρακτήρες, χαρακτήρες αλλαγής γραμμής και ταμπουλάτσεις:

let str = `111 222 333 444`;

Αλλαγή γραμμής

Οι χαρακτήρες αλλαγής γραμμής μπορούν να πιαστούν με την εντολή '\n':

let res = str.replace(/\n/g, '!');

Ως αποτέλεσμα, στη μεταβλητή θα γραφτεί το ακόλουθο (τα κενά μεταξύ των γραμμών είναι ταμπουλάτσεις):

`111! 222! 333! 444`;

Ταμπουλάτση

Οι χαρακτήρες ταμπουλάτσης μπορούν να πιαστούν με την εντολή '\t':

let res = str.replace(/\t/g, '!');

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

` 111 !222 !333 !444 `;

Λειτουργία της τελείας

Η εντολή '.' για μια πολυγραμμική συμβολοσειρά δεν πιάνει τους χαρακτήρες αλλαγής γραμμής:

let res = str.replace(/./g, '!');

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

` !!! !!!! !!!! !!!! `;

Οποιοσδήποτε χαρακτήρας

Για να πιάσουμε όλους τους χαρακτήρες σε μια πολυγραμμική συμβολοσειρά, χρησιμοποιείται μια έξυπνη τεχνική με τη μορφή του συνδυασμού [\s\S]. Μια τέτοια κατασκευή θα βρει όλους τους συνηθισμένους χαρακτήρες και όλες τις αλλαγές γραμμής:

let res = str.replace(/[\s\S]/g, '!');

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

`!!!!!!!!!!!!!!!!!!`;

Καρέκλα (^)

Με τον τροποποιητή 'm' μπορούμε να ενεργοποιήσουμε τη λειτουργία πολλαπλών γραμμών. Σε αυτήν την περίπτωση, η καρέκλα θα πιάνει την αρχή κάθε γραμμής:

let res = str.replace(/^/gm, '!');

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

` !111 !222 !333 !444 `;

Δολάριο ($)

Η εντολή '$' στη λειτουργία πολλαπλών γραμμών θα πιάνει το τέλος κάθε γραμμής:

let res = str.replace(/$/gm, '!');

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

` 111! 222! 333! 444! `;

Πρακτικά προβλήματα

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

` abc def ghi jkl `;

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

` abc! def! ghi! jkl! `;

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

` abc def ghi jkl `;

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

` ! abc ! def ! ghi ! jkl `;

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

` abc def ghi jkl `;

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

`! abc def ghi jkl !`;

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

` abc def ghi jkl `;

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

`! ! abc ! def ! ghi ! jkl !`;

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

` abc def ghi jkl `;

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

`! abc! def! ghi! jkl! !`;

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

` abc def ghi jkl `;

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

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