Προεπιλεγμένες ομάδες αντιστοίχισης στη μέθοδο replace στις κανονικές εκφράσεις JavaScript
Στη μέθοδο replace, εκτός από τις ομάδες αντιστοίχισης με τους δικούς σας
αριθμούς, είναι πάντα διαθέσιμες και οι τυπικές
ομάδες αντιστοίχισης: %vFran - ολόκληρη η ευρεθείσα αντιστοίχιση,
και - το μέρος της συμβολοσειράς πριν και
μετά την αντιστοίχιση. Ας δούμε τη λειτουργία
τους με παραδείγματα.
Παράδειγμα
Ας βρούμε όλους τους αριθμούς και ας τους τυλίξουμε σε στρογγελές παρενθέσεις:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Σαν αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:
'(1) (23) (456)'
Παράδειγμα
Ας βρούμε τον χαρακτήρα @ και ας τον αντικαταστήσουμε με αυτό που βρίσκεται πριν από αυτόν, την αίγα, και αυτό που βρίσκεται μετά από αυτόν. Όλα αυτά θα τα γράψουμε σε στρογγελές παρενθέσεις:
let str = '123@456';
let res = str.replace(/@/g, "(@)");
Σαν αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:
'123(123@456)456'
Παράδειγμα
Ας υποθέσουμε ότι θέλουμε να βρούμε το δολάριο και να το τυλίξουμε
σε εισαγωγικά ``. Σε αυτήν την περίπτωση, για να μην
γίνει αντιληφθεί ως εντολή,
το δολάριο πρέπει να διπλασιαστεί:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');
Σαν αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:
'aaa `$` bbb'
Πρακτικές ασκήσεις
Δίνεται η συμβολοσειρά:
let str = 'a1b2c3';
Γράψτε μια κανονική έκφραση που δίπλα σε κάθε ψηφίο θα γράψει το ίδιο.
Δίνεται η συμβολοσειρά:
let str = 'sss site.ru zzz site.com kkk';
Αντικαταστήστε τα domains με συνδέσμους της μορφής:
<a href="http://site.ru">site.ru</a>