Προεπιλεγμένες ομάδες αντιστοίχισης στη μέθοδο replace στις κανονικές εκφράσεις JavaScript

Στη μέθοδο replace, εκτός από τις ομάδες αντιστοίχισης με τους δικούς σας αριθμούς, είναι πάντα διαθέσιμες και οι τυπικές ομάδες αντιστοίχισης: %vFran - ολόκληρη η ευρεθείσα αντιστοίχιση, και - το μέρος της συμβολοσειράς πριν και μετά την αντιστοίχιση. Ας δούμε τη λειτουργία τους με παραδείγματα.

Παράδειγμα

Ας βρούμε όλους τους αριθμούς και ας τους τυλίξουμε σε στρογγελές παρενθέσεις:

javascriptlet str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');

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

javascript'(1) (23) (456)'

Παράδειγμα

Ας βρούμε τον χαρακτήρα @ και ας τον αντικαταστήσουμε με αυτό που βρίσκεται πριν από αυτόν, την αίγα, και αυτό που βρίσκεται μετά από αυτόν. Όλα αυτά θα τα γράψουμε σε στρογγελές παρενθέσεις:

javascriptlet str = '123@456';
let res = str.replace(/@/g, "(@)");

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

javascript'123(123@456)456'

Παράδειγμα

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

javascriptlet str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');

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

javascript'aaa `$` bbb'

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

Задание 1

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

javascriptlet str = 'a1b2c3';

Γράψτε μια κανονική έκφραση που δίπλα σε κάθε ψηφίο θα γράψει το ίδιο.

Задание 2

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

javascriptlet str = 'sss site.ru zzz site.com kkk';

Αντικαταστήστε τα domains με συνδέσμους της μορφής:

html<a href="http://site.ru">site.ru</a>