Αγώνας Javascript String ()

Η μέθοδος JavaScript String match () επιστρέφει το αποτέλεσμα αντιστοίχισης μιας συμβολοσειράς με μια κανονική έκφραση.

Η σύνταξη της match()μεθόδου είναι:

 str.match(regexp)

Εδώ, το str είναι μια συμβολοσειρά.

match () Παράμετροι

Η match()μέθοδος περιλαμβάνει:

  • regexp - Ένα αντικείμενο κανονικής έκφρασης (Το επιχείρημα μετατρέπεται σιωπηρά σε RegExpαν δεν είναι RegExpαντικείμενο)

Σημείωση: Εάν δεν δώσετε καμία παράμετρο, match()επιστρέφει ("").

Επιστροφή αξία από τον αγώνα ()

  • Επιστρέφει ένα που Arrayπεριέχει τους αγώνες, ένα στοιχείο για κάθε αγώνα.
  • Επιστρέφει nullεάν δεν βρεθεί αγώνας.

Παράδειγμα 1: Χρήση αγώνα ()

 const string = "I am learning JavaScript not Java."; const re = /Java/; let result = string.match(re); console.log("Result of matching /Java/ :"); console.log(result); const re1 = /Java/g; let result1 = string.match(re1); console.log("Result of matching /Java/ with g flag:") console.log(result1);

Παραγωγή

 Αποτέλεσμα αντιστοίχισης / Java /: («Java», ευρετήριο: 14, εισαγωγή: «Μαθαίνω JavaScript όχι Java», ομάδες: undefined) Αποτέλεσμα αντιστοίχισης / Java / με g flag: («Java», «Java» )

Εδώ, μπορούμε να δούμε ότι χωρίς τη χρήση της gσημαίας, έχουμε ως αποτέλεσμα μόνο τον πρώτο αγώνα, αλλά με λεπτομερείς πληροφορίες, όπως ευρετήριο, εισαγωγή και ομάδες.

Σημείωση : Εάν η κανονική έκφραση δεν περιλαμβάνει τη gσημαία, str.match()θα επιστρέψει μόνο το πρώτο ταίριασμα παρόμοιο με αυτό RegExp.exec(). Το επιστρεφόμενο αντικείμενο θα έχει επίσης τις ακόλουθες πρόσθετες ιδιότητες:

  • groups - Ένα αντικείμενο ονομασμένων ομάδων σύλληψης που έχουν κλειδιά ως ονόματα και τιμές όπως τα καταγεγραμμένα ταιριάζει.
  • index - Ο δείκτης αναζήτησης όπου βρέθηκε το αποτέλεσμα.
  • input - Ένα αντίγραφο της συμβολοσειράς αναζήτησης.

Παράδειγμα 2: Αντιστοίχιση ενοτήτων σε συμβολοσειρά

 const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) const re = /namesiss(a-zA-Z)+./gi; let result = string.match(re); console.log(result); // ( 'name is Albert.', 'NAME is Soyuj.' ) // using named capturing groups const re1 = /namesiss(?(a-zA-Z)+)./i; let found = string.match(re1); console.log(found.groups); // (name: "Albert")

Παραγωγή

 ('το όνομα είναι Albert.', 'ΟΝΟΜΑ είναι Soyuj.') (όνομα: "Albert")

Εδώ, χρησιμοποιήσαμε μια κανονική έκφραση για να ταιριάξουμε με ένα συγκεκριμένο τμήμα της συμβολοσειράς. Μπορούμε επίσης να συλλάβουμε συγκεκριμένες ομάδες στον αγώνα χρησιμοποιώντας τη σύνταξη όπως φαίνεται παραπάνω.

Προτεινόμενη ανάγνωση: Ταιριάζει με συμβολοσειρά JavaScriptΌλα

ενδιαφέροντα άρθρα...