Η μέθοδος exec

Η μέθοδος exec πραγματοποιεί αναζήτηση σε συμβολοσειρά σύμφωνα με μια δεδομένη κανονική έκφραση. Ως αποτέλεσμα επιστρέφεται η ευρεθείσα υποσυμβολοσειρά και οι ομάδες καταλήψεώς της. Παράλληλα, κάθε επακόλουθη κλήση αυτής της μεθόδου θα ξεκινά την αναζήτηση από το σημείο στο οποίο τελείωσε η προηγούμενη ευρεθείσα υποσυμβολοσειρά. Εάν δεν βρεθεί ταιριάστμο αποτέλεσμα - επιστρέφεται null.

Σύνταξη

javascriptκανονική_έκφραση.test(συμβολοσειρά);

Παράδειγμα

Ας ελέγξουμε τη λειτουργία της μεθόδου:

javascriptlet 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);

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript[12]
[34]
[56]
null

Παράδειγμα

Ας χρησιμοποιήσουμε τη μέθοδο σε βρόγχο:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript[12]
[34]
[56] 

Παράδειγμα

Τα ευρεθέντα ταιριάστμα αποτελέσματα μπορούν να διαχωριστούν σε ομάδες καταλήψεων:

javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Παράδειγμα

Με τη βοήθεια της ιδιότητας lastIndex μπορείτε να ορίσετε τη θέση από την οποία πρέπει να ξεκινήσει η αναζήτηση:

javascriptlet 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);

Αποτέλεσμα εκτέλεσης του κώδικα:

javascript[34]
[56]

Παράδειγμα

Με τη βοήθεια του τροποποιητή y μπορείτε να καθορίσετε τη θέση έναρξης της αναζήτησης:

javascriptlet 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);

Αποτέλεσμα εκτέλεσης του κώδικα:

javascriptnull
[12]

Δείτε επίσης

  • η μέθοδος test,
    που ελέγχει μια συμβολοσειρά
  • η μέθοδος match,
    που βρίσκει ταιριάστμα αποτελέσματα σε συμβολοσειρά
  • η μέθοδος matchAll,
    που βρίσκει όλα τα ταιριάστμα αποτελέσματα σε συμβολοσειρά
  • η μέθοδος replace,
    που εκτελεί αναζήτηση και αντικατάσταση
  • η μέθοδος search,
    που εκτελεί αναζήτηση
  • η μέθοδος split,
    που διαχωρίζει μια συμβολοσειρά