Η μέθοδος exec
Η μέθοδος exec πραγματοποιεί αναζήτηση σε
συμβολοσειρά σύμφωνα με μια δεδομένη κανονική έκφραση. Ως αποτέλεσμα επιστρέφεται η
ευρεθείσα υποσυμβολοσειρά και οι ομάδες καταλήψεώς της. Παράλληλα, κάθε
επακόλουθη κλήση αυτής της μεθόδου
θα ξεκινά την αναζήτηση από το σημείο
στο οποίο τελείωσε η προηγούμενη
ευρεθείσα υποσυμβολοσειρά. Εάν δεν βρεθεί
ταιριάστμο αποτέλεσμα - επιστρέφεται null.
Σύνταξη
κανονική_έκφραση.test(συμβολοσειρά);
Παράδειγμα
Ας ελέγξουμε τη λειτουργία της μεθόδου:
let str = '12 34 56';
let reg = /\d+/g;
let res1 = reg.exec(str);
console.log(res1);
let res2 = reg.exec(str);
console.log(res2);
let res3 = reg.exec(str);
console.log(res3);
let res4 = reg.exec(str);
console.log(res4);
Αποτέλεσμα εκτέλεσης του κώδικα:
[12]
[34]
[56]
null
Παράδειγμα
Ας χρησιμοποιήσουμε τη μέθοδο σε βρόγχο:
let str = '12 34 56';
let reg = /\d+/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Αποτέλεσμα εκτέλεσης του κώδικα:
[12]
[34]
[56]
Παράδειγμα
Τα ευρεθέντα ταιριάστμα αποτελέσματα μπορούν να διαχωριστούν σε ομάδες καταλήψεων:
let str = '12 34 56';
let reg = /(\d)(\d)/g;
let res;
while (res = reg.exec(str)) {
console.log(res);
}
Αποτέλεσμα εκτέλεσης του κώδικα:
[12, 1, 2]
[34, 3, 4]
[56, 5, 6]
Παράδειγμα
Με τη βοήθεια της ιδιότητας lastIndex
μπορείτε να ορίσετε τη θέση από την οποία πρέπει
να ξεκινήσει η αναζήτηση:
let str = '12 34 56';
let reg = /\d+/g;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Αποτέλεσμα εκτέλεσης του κώδικα:
[34]
[56]
Παράδειγμα
Με τη βοήθεια του τροποποιητή y
μπορείτε να καθορίσετε τη θέση
έναρξης της αναζήτησης:
let str = '12 34 56';
let reg = /\d+/y;
reg.lastIndex = 2;
let res1 = reg.exec(str)
console.log(res1);
let res2 = reg.exec(str)
console.log(res2);
Αποτέλεσμα εκτέλεσης του κώδικα:
null
[12]
Δείτε επίσης
-
η μέθοδος
test,
που ελέγχει μια συμβολοσειρά -
η μέθοδος
match,
που βρίσκει ταιριάστμα αποτελέσματα σε συμβολοσειρά -
η μέθοδος
matchAll,
που βρίσκει όλα τα ταιριάστμα αποτελέσματα σε συμβολοσειρά -
η μέθοδος
replace,
που εκτελεί αναζήτηση και αντικατάσταση -
η μέθοδος
search,
που εκτελεί αναζήτηση -
η μέθοδος
split,
που διαχωρίζει μια συμβολοσειρά