Μέθοδος exec() της JavaScript RegExp

Ορισμός και χρήση

exec() Μέθοδος που δοκιμάζει την ταιριάσματα εντός της αλφαβητικής αλληλουχίας.

Αυτή είναι μια γενική μέθοδος ταιριάσματος μοτίβων.

Αν βρεθεί μια ταιριάζουσα εγγραφή, θα επιστρέψει την ακολουθία των αποτελεσμάτων, αν όχι, θα επιστρέψει null.

Παράδειγμα

Παράδειγμα 1

Αναζήτηση του χαρακτήρα "e" εντός της αλφαβητικής αλληλουχίας:

let text = "The best things in life are free";
let result = /e/.exec(text);

Προσπάθησε να το δοκιμάσεις

Παράδειγμα 2

Αναζήτηση της φράσης "Hello" και "W3School" εντός της αλφαβητικής αλληλουχίας:

let text = "Hello world!";
// Αναζήτηση "Hello"
let result1 = /Hello/.exec(text);
// Αναζήτηση "W3School"
let result2 = /W3School/.exec(text);

Προσπάθησε να το δοκιμάσεις

Γραμματική

regexp.exec(σε character που καθορίζεται από την ιδιότητα lastIndex. Αυτό σημαίνει ότι μπορείτε να καλείτε επαναλαμβανόμενα)

Παράμετρος

Παράμετρος Περιγραφή
σε character που καθορίζεται από την ιδιότητα lastIndex. Αυτό σημαίνει ότι μπορείτε να καλείτε επαναλαμβανόμενα Απαιτείται. Η αλφαβητική αλληλουχία που πρέπει να αναζητηθεί.

Επιστροφή τιμής

Τύπος Περιγραφή
Ακολουθία Αν βρεθεί ταιριάζουσα φράση, περιέχει την ακολουθία του ταιριάζοντος κειμένου, αν όχι, επιστρέφει null.

Τεχνικά λεπτομέρειες

Επιστροφή τιμής

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

ανάγειται.

Τύπος Περιγραφή
TypeError Ανακάλυψε την εξαιρετική εξαίρεση όταν ο αντικείμενος που καλείται δεν είναι RegExp

Περιγραφή

σε όλες τις μεθόδους ταιριάσματος των RegExp και των Stringexec() η πιο ισχυρή. Είναι μια γενική μέθοδος που είναι πιο εύκολη στη χρήση από RegExp.test()String.replace() και String.match() πολύ σύνθετη.

exec() θα αναζητήσει τη αλφαβητική αλληλουχία σε character που καθορίζεται από την ιδιότητα lastIndex. Αυτό σημαίνει ότι μπορείτε να καλείτε επαναλαμβανόμενααπό το οποίο λαμβάνεται η ταιριάζουσα έκφραση regexp τα ταιριάζουσα κείμενο. Αν exec() Βρέθηκε μια ταιριάζουσα φράση, θα επιστρέψει μια ακολουθία αποτελεσμάτων. Αν δεν βρεθεί ταιριάζουσα φράση, θα επιστρέψει nullΗ επιστροφή της ακολουθίας είναι ο 0ος στοιχος που ταιριάζει με την έκφραση. Ο 1ος στοιχος είναι με regexp 的第一个子表达式相匹配的文本(如果存在)。第 2 个元素是与 regexp του πρώτου υπομοτίβου που ταιριάζει στο κείμενο (αν υπάρχει). Ο δεύτερος στοιχείο είναι το κείμενο που ταιριάζει στο δεύτερο υπομοτίβο, και έτσι εξής.exec() του δεύτερου υπομοτίβου που ταιριάζει στο κείμενο, και έτσι εξής. Συχνά, η ιδιότητα length της λίστας δηλώνει τον αριθμό των στοιχείων της λίστας. Πέρα από τα στοιχεία της λίστας και την ιδιότητα length, σε character που καθορίζεται από την ιδιότητα lastIndex. Αυτό σημαίνει ότι μπορείτε να καλείτε επαναλαμβανόμεναμε επιστρέφει επίσης δύο ιδιότητες. Η ιδιότητα index δηλώνει τη θέση του πρώτου character του ταιριάξιμου κειμένου. Η ιδιότητα input σημαίνει exec() Η επιστρεφόμενη λίστα από String.match() το ίδιο με την επιστρεφόμενη μέθοδο.

καλείται η μέθοδος exec() καλείται η μέθοδος, θα διεξάγει αναζήτηση και θα επιστρέψει τα παραπάνω αποτελέσματα. Ωστόσο, όταν regexp είναι παγκόσμιο τυπικό μοτίβοexec() Η συμπεριφορά είναι λίγο πιο περίπλοκη. Στην περίπτωση regexp να ξεκινήσει την αναζήτηση από το character που καθορίζεται από την ιδιότητα lastIndex του σε character που καθορίζεται από την ιδιότητα lastIndex. Αυτό σημαίνει ότι μπορείτε να καλείτε επαναλαμβανόμενα string regexp Η ιδιότητα lastIndex του exec() Μέθοδος για να περιηγηθείτε σε όλα τα ταιριάξιμα κείμενα της αλφαβητικής αλυσίδας. Όταν το exec() δεν μπορεί να βρει άλλο ταιριάξιμο κείμενο, θα επιστρέψει nullκαι επαναφέρει την τιμή της ιδιότητας lastIndex σε 0. Αν πρέπει να ξεκινήσετε την αναζήτηση νέου κειμένου μετά από μια επιτυχής ταιριάξιμο του μοτίβου σε μια άλλη αλφαβητική αλυσίδα, πρέπει να δοκιμάσετε χειροκίνητα την ιδιότητα lastIndex σε 0.

Λάβετε υπόψη ότι, ανεξάρτητα από regexp αν είναι παγκόσμιο μοτίβοexec() προσθέτουν πλήρες λεπτομέρειες στο array που επιστρέφουν. Αυτό είναι exec() και String.match() διαφέρει, η δεύτερη επιστρέφει λιγότερες πληροφορίες στο παγκόσμιο μοτίβο. Στη πραγματικότητα, η επαναλαμβανόμενη κλήση exec() Η μέθοδος είναι η μοναδική μέθοδος που παρέχει πλήρη πληροφορίες ταιριάξιμης μοτίβου για το παγκόσμιο μοτίβο.

Υποστήριξη περιηγητή

exec() είναι χαρακτηριστικό ECMAScript1 (ES1).

Όλοι οι περιηγητές υποστηρίζουν πλήρως το ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Υποστηρίζεται Υποστηρίζεται Υποστηρίζεται Υποστηρίζεται Υποστηρίζεται Υποστηρίζεται

Μεθόδους αναζήτησης τυπικού μοτίβου

Στο JavaScript, η αναζήτηση κειμένου με τυπικό μοτίβο μπορεί να ολοκληρωθεί με διαφορετικές μεθόδους.

ΧρήσηΜοτίβο (pattern)Ως τυπικό μοτίβο, αυτά είναι οι πιο συχνά χρησιμοποιούμενες μεθόδους:

Παράδειγμα Περιγραφή
text.match(μοτίβο) Μέθοδος match() της αλφαβητικής αλυσίδας
text.search(μοτίβο) Μέθοδος search() της αλφαβητικής αλυσίδας
μοτίβο.exec(text) Μέθοδος RexExp exec()
μοτίβο.test(text) Μέθοδος RexExp test()