Κοινοποίηση μέσω


IsMatch, Matchκαι MatchAll συναρτήσεις

Ισχύει για: Εφαρμογές καμβά Copilot Studio Εφαρμογές βάσει μοντέλου Power Platform Συναρτήσεις του Power Platform CLI Dataverse στο Power Pages

Ελέγχει για μια αντιστοίχιση ή εξάγει τμήματα μιας συμβολοσειράς κειμένου με βάση ένα μοτίβο.

Περιγραφή

Η IsMatch συνάρτηση ελέγχει εάν μια συμβολοσειρά κειμένου συμφωνεί με ένα μοτίβο που μπορεί να περιλαμβάνει συνήθεις χαρακτήρες, προκαθορισμένα μοτίβα ή μια κανονική παράσταση. Οι Match συναρτήσεις και MatchAll επιστρέφουν ό,τι αντιστοιχίστηκε, συμπεριλαμβανομένων των δευτερευουσών αντιστοιχιών.

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

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

Match Η επιστρέφει μια εγγραφή πληροφοριών για την πρώτη αντιστοιχία που βρέθηκε και MatchAll επιστρέφει έναν πίνακα εγγραφών για κάθε αντιστοιχία που βρέθηκε. Η καρτέλα ή οι καρτέλες περιέχουν:

Column Type Περιγραφή
Ονομασμένη δευτερεύουσα αντιστοίχιση ή δευτερεύουσες αντιστοιχίσεις Μήνυμα κειμένου Κάθε επώνυμη δευτερεύουσα αντιστοίχιση έχει τη δική της στήλη. Δημιουργήστε μια επώνυμη δευτερεύουσα αντιστοίχιση χρησιμοποιώντας το (;<Όνομα>... ) στην κανονική παράσταση. Εάν ένας επώνυμος δευτερεύων χάρτης έχει το ίδιο όνομα με μία από τις προκαθορισμένες στήλες, το δευτερεύον γράφημα έχει προτεραιότητα και δημιουργείται μια προειδοποίηση. Μετονομάστε τη δευτερεύουσα αντιστοίχιση για να αποφύγετε αυτήν την προειδοποίηση.
Πλήρης αγώνας Μήνυμα κειμένου Όλες τις συμβολοσειρές κειμένου που αντιστοιχίστηκαν.
StartMatch Αριθμός Η θέση εκκίνησης της αντιστοίχισης εντός της συμβολοσειράς εισαγωγής κειμένου. Ο πρώτος χαρακτήρας της συμβολοσειράς επιστρέφει 1.
SubMatches, μόνο εάν χρησιμοποιείται η MatchOptions.NumberedSubMatches . Πίνακας κειμένου μίας στήλης (στήλη Τιμή) Ο πίνακας των αριθμημένων υπομενού με τη σειρά με την οποία εμφανίζονται στην κανονική παράσταση. Γενικά, οι επώνυμες υπομετρήσεις είναι πιο εύκολο να εργαστούν με το και ενθαρρύνονται. Χρησιμοποιήστε τη συνάρτηση ForAll ή τη συνάρτηση Index για να εργαστείτε με μια μεμονωμένη δευτερεύουσα αντιστοίχιση. Εάν δεν έχουν οριστεί υπομενού στην κανονική παράσταση, αυτός ο πίνακας θα είναι παρών αλλά κενός.

Αυτές οι συναρτήσεις υποστηρίζουν MatchOptions. Από προεπιλογή:

  • Αυτές οι συναρτήσεις εκτελούν μια αντιστοίχιση με διάκριση πεζών-κεφαλαίων. Χρησιμοποιήστε το MatchOptions.IgnoreCase για να εκτελέσετε αντιστοιχίσεις με διάκριση πεζών-κεφαλαίων.
  • IsMatch Αντιστοιχεί ολόκληρη τη συμβολοσειρά κειμένου (Complete MatchOption), ενώ Match και MatchAll πραγματοποιεί αναζήτηση για μια αντιστοίχιση σε οποιοδήποτε σημείο της συμβολοσειράς κειμένου (Contains MatchOption). Χρησιμοποιήστε τις συναρτήσεις Complete, Contains, BeginsWith ή EndsWith ανάλογα με το σενάριό σας.

IsMatch Η επιστρέφει true εάν η συμβολοσειρά κειμένου συμφωνεί με το μοτίβο ή την τιμή false εάν όχι. Match Η επιστρέφει κενό εάν δεν βρεθεί αντιστοιχία που να μπορεί να ελεγχθεί με τη συνάρτηση IsBlank . MatchAll Η επιστρέφει έναν κενό πίνακα εάν δεν βρεθεί αντιστοιχία που να μπορεί να ελεγχθεί με τη συνάρτηση IsEmpty .

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

Μοτίβα

Το κλειδί στη χρήση αυτών των συναρτήσεων βρίσκεται στην περιγραφή του μοτίβου για συμφωνία. Περιγράψτε το μοτίβο σε μια συμβολοσειρά κειμένου ως συνδυασμό των εξής:

  • Συνήθεις χαρακτήρες, όπως "abc" or "123".
  • Προκαθορισμένα μοτίβα, όπωςLetter, MultipleDigits ή Email. (Η Match απαρίθμηση ορίζει αυτά τα μοτίβα.)
  • Κώδικες κανονικών παραστάσεων, όπως "\d+\s+\d+" ή "[a-z]+".

Συνδυάστε αυτά τα στοιχεία χρησιμοποιώντας τον τελεστή συνένωσης συμβολοσειρών & . Για παράδειγμα, το μοτίβο "abc" & Digit & "\s+" είναι ένα έγκυρο μοτίβο που συμφωνεί με τους χαρακτήρες "a", "b" και "c", ακολουθούμενους από ένα ψηφίο από 0 έως 9, ακολουθούμενο από τουλάχιστον έναν χαρακτήρα κενού διαστήματος.

Συνήθεις χαρακτήρες

Το απλούστερο μοτίβο είναι μια ακολουθία συνήθων χαρακτήρων που ταιριάζουν ακριβώς.

Για παράδειγμα, όταν χρησιμοποιείται με τη IsMatch συνάρτηση, η συμβολοσειρά "Hello" συμφωνεί ακριβώς με το μοτίβο "Hello" . Ούτε περισσότερα ούτε λιγότερα. Η συμβολοσειρά "hello!" δεν συμφωνεί με το μοτίβο λόγω του θαυμαστικής στο τέλος και επειδή η υπόθεση είναι λάθος για το γράμμα "h". (Δείτε Match επιλογές για τρόπους τροποποίησης αυτής της συμπεριφοράς.)

Στη γλώσσα μοτίβων, οι χαρακτήρες . ? * + ( ) [ ] ^ $ | \ δεσμεύονται για ειδικούς σκοπούς. Για να χρησιμοποιήσετε αυτούς τους χαρακτήρες, είτε προσθέστε πριν από τον χαρακτήρα μια \ (ανάστροφη κάθετο) για να υποδείξετε ότι ο χαρακτήρας πρέπει να ληφθεί κυριολεκτικά, είτε χρησιμοποιήστε ένα από τα προκαθορισμένα μοτίβα. Για παράδειγμα, μπορείτε να αντιστοιχήσετε τη συμβολοσειρά "Hello?" χρησιμοποιώντας το μοτίβο "Hello\\?" με μια ανάστροφη κάθετο πριν από το ερωτηματικό.

Προκαθορισμένα μοτίβα

Τα προκαθορισμένα μοτίβα παρέχουν έναν απλό τρόπο ώστε να αντιστοιχίσετε είτε ένα σύνολο χαρακτήρων είτε μια ακολουθία πολλών χαρακτήρων. Χρησιμοποιήστε τον τελεστή συνένωσης συμβολοσειρών και για να συνδυάσετε τις δικές σας συμβολοσειρές κειμένου με μέλη της Match απαρίθμησης:

Match απαρίθμηση Περιγραφή Τακτική παράσταση
Όποιος Αντιστοίχιση με οποιονδήποτε χαρακτήρα. .
Κόμμα Ταιριάζει με κόμμα. , ,
Ψηφίο Αντιστοίχιση με ένα μόνο ψηφίο ("0" έως "9"). \d
Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου Αντιστοίχιση με μια διεύθυνση ηλεκτρονικού ταχυδρομείου που περιέχει ένα σύμβολο ("@") και ένα όνομα τομέα που περιέχει μια τελεία (".") Εμφάνιση σημείωσης
Ενωτικό Αντιστοίχιση με ένα ενωτικό. - Εμφάνιση σημείωσης
LeftParen Ταιριάζει με μια αριστερή παρένθεση (. \(
Γράμμα Αντιστοίχιση με ένα γράμμα. \p{L}
ΠολλαπλάΨηφία Αντιστοίχιση με ένα ή περισσότερα ψηφία. \d+
ΠολλαπλάΓράμματα Αντιστοίχιση με ένα ή περισσότερα γράμματα. \p{L}+
MultipleNonSpaces Αντιστοιχεί έναν ή περισσότερους χαρακτήρες που δεν προσθέτουν κενά διαστήματα (όχι διάστημα, χαρακτήρα tab ή χαρακτήρα αλλαγής γραμμής). \S+
Πολλαπλοί χώροι Αντιστοιχεί έναν ή περισσότερους χαρακτήρες που προσθέτουν κενά διαστήματα (διάστημα, χαρακτήρα tab ή χαρακτήρα αλλαγής γραμμής). \s+
Μη διάστημα Αντιστοιχεί έναν μόνο χαρακτήρα που δεν προσθέτει κενό διάστημα. \S
ΠροαιρετικάΨηφία Αντιστοιχεί κανένα, ένα ή περισσότερα ψηφία. \d*
ΠροαιρετικάΓράμματα Αντιστοιχεί κανένα, ένα ή περισσότερα γράμματα. \p{L}*
ΠροαιρετικόΜη κενά διαστήματα Συμφωνεί με κανέναν, έναν ή περισσότερους χαρακτήρες που δεν προσθέτουν κενό διάστημα. \S*
ΠροαιρετικάΧώροι Συμφωνεί με κανέναν, έναν ή περισσότερους χαρακτήρες που προσθέτουν κενό διάστημα. \s*
Περίοδος Αντιστοίχιση με μια τελεία ή τελεία .. \.
ΔεξιάParen Ταιριάζει με μια δεξιά παρένθεση ). \)
Χώρος Αντιστοίχιση με έναν χαρακτήρα που προσθέτει κενό διάστημα. \s
Καρτέλα Αντιστοίχιση με χαρακτήρα καρτέλας. \t

Για παράδειγμα, το μοτίβο "A" & MultipleDigits συμφωνεί με το γράμμα "A" ακολουθούμενο από ένα ή περισσότερα ψηφία.

Το Power Apps χρησιμοποιεί διαφορετικό ορισμό για Matchτο . EMail και Match. Ενωτικό. Αξιολογήστε Text( Match.Email ) για να δείτε την κανονική παράσταση που χρησιμοποιείται από τον κεντρικό υπολογιστή σας.

Κανονικές παραστάσεις

Το μοτίβο που χρησιμοποιούν αυτές οι συναρτήσεις ονομάζεται κανονική παράσταση. Η συγκεκριμένη διάλεκτος κανονικών παραστάσεων του Power Fx περιγράφεται αναλυτικά στις Κανονικές παραστάσεις στο Power Fx.

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

Οι κανονικές εκφράσεις έχουν μακρά ιστορία και είναι διαθέσιμες σε πολλές γλώσσες προγραμματισμού. Κάθε γλώσσα προγραμματισμού έχει τη δική της διάλεκτο κανονικών εκφράσεων και υπάρχουν λίγα πρότυπα. Προσπαθούμε να διασφαλίσουμε ότι η ίδια κανονική παράσταση παρέχει το ίδιο αποτέλεσμα σε όλες τις υλοποιήσεις Power Fx. Η συμβατότητα δεν είναι εύκολο να επιτευχθεί, καθώς Power Fx εκτελείται πάνω από JavaScript και .NET που έχουν σημαντικές διαφορές. Για την εξυπηρέτηση εκτέλεσης σε διαφορετικές πλατφόρμες, οι κανονικές παραστάσεις Power Fx περιορίζονται σε ένα υποσύνολο δυνατοτήτων που υποστηρίζονται ευρέως σε ολόκληρο τον κλάδο.

Κατά συνέπεια, ορισμένες κανονικές παραστάσεις που μπορεί να λειτουργούν σε άλλα περιβάλλοντα μπορεί να αποκλειστούν ή να απαιτούν μια τροποποίηση στο Power Fx. Τα σφάλματα χρόνου σύνταξης αναφέρονται καθώς παρουσιάζονται μη υποστηριζόμενες δυνατότητες. Αυτός είναι ένας από τους λόγους για τους οποίους η κανονική παράσταση και οι επιλογές πρέπει να είναι μια σταθερά χρόνου σύνταξης και όχι δυναμική (για παράδειγμα, παρέχεται σε μια μεταβλητή).

Σημείωμα

Το Power Apps χρησιμοποιεί μια παλαιότερη έκδοση των κανονικών παραστάσεων Power Fx που έχει λιγότερους περιορισμούς, αλλά και λιγότερες δυνατότητες. Οι matchOptions.DotAll και MatchOptions.FreeSpacing δεν είναι διαθέσιμες και οι ορισμοί του Match. Ηλεκτρονικό ταχυδρομείο και Match. Τα ενωτικά είναι διαφορετικά. Τα ζεύγη υποκατάστατων Unicode δεν αντιμετωπίζονται ως ένας μόνο χαρακτήρας. MatchOptions.NumberedSubMatch είναι η προεπιλογή. Η έκδοση των κανονικών παραστάσεων που περιγράφονται εδώ θα είναι σύντομα διαθέσιμη στο Power Apps, στο πλαίσιο ενός διακόπτη συμβατότητας "Power Fx V1.0".

Ακολουθούν ορισμένα βασικά στοιχεία κανονικών παραστάσεων που δημιουργούν πολυπλοκότητα στην ανάλυση ενός αριθμού.

Χαρακτηριστικό Παράδειγμα Περιγραφή
Προκαθορισμένη κλάση χαρακτήρων \d Αυτή η κανονική παράσταση αντιστοιχεί σε έναν μοναδικό αριθμό, όπως 1. Μια κλάση χαρακτήρων συμφωνεί με ένα σύνολο χαρακτήρων και \d συμφωνεί με τα τυπικά 0 ψηφία προς 9 και επίσης τα ψηφία που ορίζονται στην κατηγορία χαρακτήρων Unicode "Nd". Υπάρχουν χαρακτήρων για γράμματα και αριθμούς με \w και διαστήματα, συμπεριλαμβανομένων των νέων γραμμών με \s. Υπάρχουν επίσης αντίστροφες χαρακτήρων που χαρακτηρίζονται από κεφαλαία: \D αντιστοιχεί όλα τα στοιχεία που \d δεν υπάρχουν.
Ένα ή περισσότερα \d+ Αυτή η κανονική παράσταση αντιστοιχεί σε έναν ή περισσότερους αριθμούς, όπως 123. Ένα + μετά από ένα στοιχείο αναφέρει "ένα ή περισσότερα" από το τελευταίο στοιχείο.
Μηδέν ή Ένα \+?\d Αυτή η κανονική παράσταση αντιστοιχεί σε ένα προαιρετικό + σύμβολο ακολουθούμενο από έναν ή περισσότερους αριθμούς, όπως +123 ακριβώς 123. Όταν ? ένα στοιχείο αναφέρει "αυτό είναι προαιρετικό, μπορεί να συμβεί μηδέν ή μία φορά". Η + ανάστροφη κάθετο έχει μια ανάστροφη κάθετο για να τη διακρίνει ως λεκτική σταθερά αντί για τη χρήση "μίας ή περισσότερων".
Ομαδοποίηση και εναλλαγή (-|\+)?\d+ Αυτή η κανονική παράσταση συμφωνεί είτε με ένα + σύμβολο είτε με ένα -, προαιρετικά και, στη συνέχεια, μια σειρά αριθμών, όπως -123, +123και 123. Παρουσιάζουμε εδώ δύο έννοιες που χρησιμοποιούνται συχνά μαζί. Πρώτα, έχουμε την παρένθεση που ομαδοποιεί ως σύνολο στοιχείων, προκειμένου ? να ενεργήσουμε. Δεύτερον, έχουμε | το οποίο λέει "αυτό ή εκείνο".
Κλάση προσαρμοσμένου χαρακτήρα (-|\+)?\d+[eE][\-\+]?\d+ Αυτή η κανονική παράσταση προσθέτει έναν εκθέτη στον συνδυασμό με δύο χαρακτήρων, που αντιστοιχούν +123e-12στο . Μια κλάση χαρακτήρων είναι σαν | την αλλαγή που παρέχει μια "αντιστοίχιση ενός από αυτά τα πράγματα" σε μια πιο συμπαγή μορφή. Όπως και με το +, - έχει ιδιαίτερη σημασία στις κανονικές χαρακτήρων παράστασης, επομένως πρέπει να ξεφύγουμε από αυτή.
Μηδέν ή Περισσότερα (-|\+)?\d+\.?\d*[eE][\-\+]?\d+ Αυτή η κανονική παράσταση προσθέτει το δεκαδικό μετά το ακέραιο τμήμα του αριθμού, όπως -123.456e-89 ή -123.E+32. Το \d μετά την υποδιαστολή έχει έναν * ποσοτικό δείκτη που αναφέρει "μηδέν ή περισσότερες φορές" για δεκαδικά ψηφία μετά από το .
Καταγραφή ομάδων (?&lt;number&gt;(-|\+)?\d+\.?\d*)[eE](?&lt;exponent&gt;[\-\+]?\d+) Τέλος, προσθέτουμε ομάδες καταγραφής για number τα και exponent. Μια κανονική παράσταση δεν μπορεί μόνο να συμφωνεί με ολόκληρη τη συμβολοσειρά, αλλά μπορεί επίσης να εξαγάγει τμήματα για χρήση στους τύπους σας, σε αυτή την περίπτωση το τμήμα πριν από το eE) και το τμήμα μετά.

Αυτά τα παραδείγματα δίνουν μόνο μια μικρή γεύση σχετικά με το τι μπορούν να κάνουν οι κανονικές παραστάσεις. Χρησιμοποιούνται συνήθως για την επικύρωση αριθμών αναγνωριστικών, διευθύνσεων ηλεκτρονικού ταχυδρομείου, αριθμών τηλεφώνου, ημερομηνιών και ωρών και για την εξαγωγή πληροφοριών από αρχεία κειμένου κάθε είδους. Συνεχίστε το ταξίδι σας διαβάζοντας την ενότητα Κανονικές παραστάσεις στο Power Fx, πειραματιστείτε και χρησιμοποιήστε το web για να μάθετε περισσότερα.

Match επιλογές

Τροποποιήστε τη συμπεριφορά αυτών των συναρτήσεων καθορίζοντας μία ή περισσότερες επιλογές, τις οποίες συνδυάζετε χρησιμοποιώντας τον τελεστή συνένωσης συμβολοσειρών (&).

Απαρίθμηση MatchOptions Περιγραφή Επίπτωση σε μια κανονική παράσταση
MatchOptions.BeginsWith Το μοτίβο πρέπει να αντιστοιχίσει από την αρχή του κειμένου. Προσθέτει ένα ^ στην αρχή της κανονικής παράστασης.
MatchOptions.Complete Προεπιλογή για IsMatch στο Power Apps. Το μοτίβο αντιστοιχεί σε ολόκληρη τη συμβολοσειρά κειμένου, από την αρχή έως το τέλος. Προσθέτει ένα ^ στην αρχή και ένα $ στο τέλος της κανονικής παράστασης.
MatchOptions.Περιέχει Προεπιλογή για Match και MatchAll, και IsMatch εκτός του Power Apps. Το μοτίβο πρέπει να εμφανίζεται σε κάποιο σημείο του κειμένου, αλλά δεν χρειάζεται να είναι στην αρχή ή στο τέλος του. Δεν τροποποιεί την κανονική παράσταση.
MatchOptions.DotAll Αλλάζει τη συμπεριφορά του . τελεστή (τελεία) ώστε να ταιριάζει με όλους τους χαρακτήρες, συμπεριλαμβανομένων των χαρακτήρων νέας γραμμής. Δεν διατίθεται στο Power Apps. Δεν τροποποιεί την κανονική παράσταση. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "s" για κανονικές παραστάσεις.
MatchOptions.EndsWith Το μοτίβο πρέπει να αντιστοιχίσει στο τέλος της συμβολοσειράς κειμένου. Προσθέτει ένα $ στο τέλος της κανονικής παράστασης.
MatchOptions.FreeSpacing Οι χαρακτήρες κενού χώρου, συμπεριλαμβανομένων των νέων γραμμών, παραβλέπονται στην κανονική παράσταση. Τα σχόλια τέλους γραμμής που ξεκινούν με ένα # παραβλέπονται. Δεν διατίθεται στο Power Apps. Αλλάζει μόνο τον τρόπο με τον οποίο η σύνταξη της κανονικής παράστασης. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "x" για κανονικές παραστάσεις.
MatchOptions.IgnoreCase Επεξεργάζεται κεφαλαία και πεζά γράμματα ως πανομοιότυπα. Από προεπιλογή, η αντιστοίχιση κάνει διάκριση πεζών-κεφαλαίων. Δεν τροποποιεί την κανονική παράσταση. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "i" για κανονικές παραστάσεις.
MatchOptions.Multiline Αλλάζει τη συμπεριφορά του ^ και $ για αντιστοίχιση στο τέλος της γραμμής. Δεν τροποποιεί την κανονική παράσταση. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "m" για κανονικές παραστάσεις.
MatchOptions.NumberedSubMatches Οι επώνυμες αποτυπώσεις είναι προτιμώμενες καθώς είναι πιο κατανοητές και διατηρούνται ευκολότερα. Οι επιδόσεις βελτιώνονται επίσης καθώς οι περιττές αποτυπώσεις δεν διατηρούνται. Ωστόσο, για παλαιότερες κανονικές παραστάσεις, αντιμετωπίζει κάθε σύνολο παρένθεσης ως αριθμημένη καταγραφή που περιλαμβάνεται με τον πίνακα SubMatches στο αποτέλεσμα. Προεπιλογή στο Power Apps. Δεν τροποποιεί την κανονική παράσταση. Οι επώνυμες αποτυπώσεις είναι απενεργοποιημένες και \1 οι αναφορές στυλ πίσω είναι ενεργοποιημένες.

Η χρήση MatchAll του είναι ίδια με τη χρήση του τυπικού τροποποιητή "g" για κανονικές παραστάσεις.

Σύνταξη

IsMatch( Text, Pattern [, Options ] )

  • Κείμενο – Απαιτείται. Η συμβολοσειρά κειμένου για έλεγχο.
  • Μοτίβο – Απαιτείται. Το μοτίβο για έλεγχο, ως συμβολοσειρά κειμένου. Συνενώστε προκαθορισμένα μοτίβα που ορίζει η Match απαρίθμηση ή δώστε μια κανονική παράσταση. Το Μοτίβο πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή. Σημειώστε ότι ο τύπος πρέπει να εκφραστεί ως "Match. ΠροκαθορισμένοPattern" π.χ. Match. Email
  • Επιλογές – Προαιρετικό. Ένας συνδυασμός συμβολοσειρών κειμένου τιμών της απαρίθμησης MatchOptions. Από προεπιλογή, χρησιμοποιείται η MatchOptions.Complete. Οι επιλογές πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.

Match( Text, Pattern [, Options ] )

  • Κείμενο – Απαιτείται. Η συμβολοσειρά κειμένου για αντιστοίχιση.
  • Μοτίβο – Απαιτείται. Το μοτίβο για αντιστοίχιση ως συμβολοσειρά κειμένου. Συνενώστε προκαθορισμένα μοτίβα που ορίζει η Match απαρίθμηση ή δώστε μια κανονική παράσταση. Το μοτίβο πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.
  • Επιλογές – Προαιρετικό. Ένας συνδυασμός συμβολοσειρών κειμένου τιμών της απαρίθμησης MatchOptions. Από προεπιλογή, χρησιμοποιείται η MatchOptions.Contains. Οι επιλογές πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.

MatchAll( Text, Pattern [, Options ] )

  • Κείμενο – Απαιτείται. Η συμβολοσειρά κειμένου για αντιστοίχιση.
  • Μοτίβο – Απαιτείται. Το μοτίβο για αντιστοίχιση ως συμβολοσειρά κειμένου. Συνενώστε προκαθορισμένα μοτίβα που ορίζει η Match απαρίθμηση ή δώστε μια κανονική παράσταση. Το Μοτίβο πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.
  • Επιλογές – Προαιρετικό. Ένας συνδυασμός συμβολοσειρών κειμένου τιμών της απαρίθμησης MatchOptions. Από προεπιλογή, χρησιμοποιείται η MatchOptions.Contains. Οι επιλογές πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.

IsMatch Παραδείγματα

Συνήθεις χαρακτήρες

Φανταστείτε ότι η εφαρμογή σας έχει ένα στοιχείο ελέγχου Εισαγωγή κειμένου με την ονομασία TextInput1. Οι χρήστες καταχωρούν τιμές σε αυτό το στοιχείο ελέγχου για να τις αποθηκεύουν σε μια βάση δεδομένων.

Οι χρήστες πληκτρολογούν Hello world στο στοιχείο ελέγχου TextInput1.

Τύπος Περιγραφή Αποτέλεσμα
IsMatch( TextInput1.Text, "Hello world" ) Ελέγχει εάν η καταχώρηση του χρήστη συμφωνεί ακριβώς με τη συμβολοσειρά "Hello world". πιστός
IsMatch( TextInput1.Text, "Good bye" ) Ελέγχει εάν η καταχώρηση του χρήστη αντιστοιχεί ακριβώς τη συμβολοσειρά "Good bye". ψεύτικος
IsMatch( TextInput1.Text, "hello", Contains ) Ελέγχει εάν η καταχώρηση του χρήστη περιέχει τη λέξη "hello" (με διάκριση πεζών-κεφαλαίων). ψεύτικος
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) Ελέγχει εάν η καταχώρηση του χρήστη περιέχει τη λέξη "hello" (χωρίς διάκριση πεζών-κεφαλαίων). πιστός

Προκαθορισμένα μοτίβα

Τύπος Περιγραφή Αποτέλεσμα
IsMatch( "123-45-7890", Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit ) Αντιστοιχεί έναν αριθμό κοινωνικής ασφάλισης των Ηνωμένων Πολιτειών πιστός
IsMatch( "joan@contoso.com", Match.Email ) Αντιστοιχεί μια διεύθυνση ηλεκτρονικού ταχυδρομείου πιστός
IsMatch( "123.456", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) Αντιστοιχεί μια ακολουθία ψηφίων, ένα διάστημα και, στη συνέχεια, κανένα ή περισσότερα ψηφία. πιστός
IsMatch( "123", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) Αντιστοιχεί μια ακολουθία ψηφίων, ένα διάστημα και, στη συνέχεια, κανένα ή περισσότερα ψηφία. Το κείμενο προς αντιστοίχιση δεν περιέχει τελεία, επομένως δεν αντιστοιχεί σε αυτό το μοτίβο. ψεύτικος

Κανονικές παραστάσεις

Τύπος Περιγραφή Αποτέλεσμα
IsMatch( "986", "\d+" ) Αντιστοιχεί έναν ακέραιο αριθμό μεγαλύτερο από το μηδέν. πιστός
IsMatch( "1.02", "\d+(\.\d\d)?" ) Αντιστοιχεί ένα θετικό ποσό νομισματικής μονάδας. Εάν τα δεδομένα εισόδου περιέχουν υποδιαστολή, τα δεδομένα εισόδου πρέπει να περιέχουν επίσης δύο αριθμητικούς χαρακτήρες μετά την υποδιαστολή. Για παράδειγμα, η τιμή 3,00 είναι έγκυρη, αλλά η τιμή 3,1 όχι. πιστός
IsMatch( "-4.95", "(-)?\d+(\.\d\d)?" ) Αντιστοιχεί ένα θετικό ή αρνητικό ποσό νομισματικής μονάδας. Εάν τα δεδομένα εισόδου περιέχουν υποδιαστολή, τα δεδομένα εισόδου πρέπει να περιέχουν επίσης δύο αριθμητικούς χαρακτήρες μετά την υποδιαστολή. πιστός
IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" ) Αντιστοιχεί έναν αριθμό κοινωνικής ασφάλισης των Ηνωμένων Πολιτειών. Επικυρώνει τη μορφή, τον τύπο και το μήκος του πεδίου εισόδου που δόθηκε. Η συμβολοσειρά για αντιστοίχιση πρέπει να αποτελείται από τρεις αριθμητικούς χαρακτήρες ακολουθούμενους από μια παύλα, έπειτα δύο αριθμητικούς χαρακτήρες ακολουθούμενους από μια παύλα και, στη συνέχεια, τέσσερις αριθμητικούς χαρακτήρες. πιστός
IsMatch( "111-111-111", "\d{3}-\d{2}-\d{4}" ) Ίδιο με το προηγούμενο παράδειγμα, αλλά μία από τις παύλες είναι εκτός θέσης στα δεδομένα εισόδου. ψεύτικος
IsMatch( "AStrongPasswordNot", "(?!^[0-9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9]{8,10})" ) Επικυρώνει έναν ισχυρό κωδικό πρόσβασης που πρέπει να περιέχει οκτώ, εννέα ή 10 χαρακτήρες, τουλάχιστον ένα ψηφίο και τουλάχιστον έναν αλφαβητικό χαρακτήρα. Η συμβολοσειρά δεν μπορεί να περιέχει ειδικούς χαρακτήρες. ψεύτικος

Match και MatchAll παραδείγματα

Τύπος Περιγραφή Αποτέλεσμα
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>" & Match.Email & ")>") Εξάγει μόνο το τμήμα ηλεκτρονικού ταχυδρομείου των πληροφοριών επικοινωνίας. {
email: "bob.jones@contoso.com",
FullMatch: "<bob.jones@contoso.com>",
StartMatch: 11
}
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" Εξάγει μόνο το τμήμα ηλεκτρονικού ταχυδρομείου των πληροφοριών επικοινωνίας. Δεν βρέθηκε καμία νόμιμη διεύθυνση (δεν υπάρχει σύμβολο @), επομένως η συνάρτηση επιστρέφει blank. λευκός
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) Εξάγει τη γλώσσα, τη δέσμη ενεργειών και τμήματα περιοχής της ετικέτας γλώσσας που επιστρέφει η συνάρτηση Language. Τα αποτελέσματα αυτά αντικατοπτρίζουν τις Ηνωμένες Πολιτείες. Ανατρέξτε στην τεκμηρίωση της συνάρτησης Language για περισσότερα παραδείγματα. Οι ομάδες τελεστή (?: χωρίς να δημιουργηθεί άλλη δευτερεύουσα αντιστοίχιση. {
language: "en",
script: blank,
region: "US",
FullMatch: "en-US",
StartMatch: 1
}
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) Εξάγει τις ώρες, τα λεπτά και τα δευτερόλεπτα από μια τιμή διάρκειας ISO 8601. Οι αριθμοί που έχουν εξαχθεί βρίσκονται ακόμα σε μια συμβολοσειρά κειμένου. Χρησιμοποιήστε τη συνάρτηση Value για να τη μετατρέψετε σε αριθμό πριν την εκτέλεση μαθηματικών πράξεων. {
hours: "2",
minutes: "1",
seconds: "39",
FullMatch: "PT2H1M39S",
StartMatch: 1
}

Ας εμβαθύνουμε σε αυτό το τελευταίο παράδειγμα. Εάν θέλετε να μετατρέψετε αυτήν τη συμβολοσειρά σε μια τιμή ημερομηνίας/ώρας χρησιμοποιώντας τη συνάρτηση Time , πρέπει να μεταβιβάσετε ξεχωριστά τα επώνυμα submatches. Για να το κάνετε αυτό, χρησιμοποιήστε τη συνάρτηση With που λειτουργεί στην εγγραφή που Match επιστρέφει:

With(
    Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
   Time( Value( hours ), Value( minutes ), Value( seconds ) )
)

Για αυτά τα παραδείγματα, προσθέστε ένα στοιχείο ελέγχου Button, ορίστε την ιδιότητα OnSelect σε αυτόν τον τύπο και, στη συνέχεια, επιλέξτε το κουμπί:

Set( pangram, "The quick brown fox jumps over the lazy dog." )
Τύπος Περιγραφή Αποτέλεσμα
Match( pangram, "THE", IgnoreCase ) Βρείτε όλες τις αντιστοιχίσεις του "THE" στη συμβολοσειρά κειμένου που περιέχει η μεταβλητή pangram. Η συμβολοσειρά περιέχει δύο αντιστοιχίσεις, αλλά μόνο η πρώτη επιστρέφεται επειδή χρησιμοποιείτε Match και όχι MatchAll. {
FullMatch: "The",
StartMatch: 32
}
MatchAll( pangram, "the" ) Βρείτε όλες τις αντιστοιχίσεις του "the" στη συμβολοσειρά κειμένου που περιέχει η μεταβλητή pangram. Στη δοκιμή γίνεται διάκριση πεζών-κεφαλαίων, επομένως εντοπίζεται μόνο η δεύτερη παρουσία του "the". MatchAll για το pangram.
MatchAll( pangram, "the", IgnoreCase ) Βρείτε όλες τις αντιστοιχίσεις του "the" στη συμβολοσειρά κειμένου που περιέχει η μεταβλητή pangram. Σε αυτήν την περίπτωση, δεν γίνεται διάκριση πεζών-κεφαλαίων στη δοκιμή, επομένως εντοπίζονται και οι δύο παρουσίες της λέξης. MatchAll με ignoreCase.
MatchAll( pangram, "\b\wo\w\b" ) Βρίσκει όλες τις λέξεις τριών γραμμάτων με ένα "ο" στη μέση. Το "brown" αποκλείεται επειδή δεν είναι λέξη τριών γραμμάτων και, επομένως, δεν συμφωνεί με το "\b" (όριο λέξης). MatchAll για pangram με b, wo, w και b.
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) Ταιριάζει με όλους τους χαρακτήρες ανάμεσα στις επιλογές "αλεπού" και "σκύλος". {
μεταξύ: "jumps over the lazy",
FullMatch: "η αλεπού πηδάει πάνω από το τεμπέλικο σκυλί",
StartMatch: 17
}

Για να δείτε τα αποτελέσματα σε MatchAll μια συλλογή:

  1. Σε μια κενή οθόνη, εισαγάγετε ένα κενό στοιχείο ελέγχου κατακόρυφης συλλογής .

  2. Ορίστε την ιδιότητα Items της συλλογής σε MatchAll( pangram, "\w+" ) ή MatchAll( pangram, MultipleLetters ).

    Συλλογή στοιχείων.

  3. Επιλέξτε "Προσθήκη στοιχείου από την καρτέλα Εισαγωγή "στη μέση του στοιχείου ελέγχου "συλλογή" για να επιλέξετε το πρότυπο της συλλογής.

  4. Προσθέστε ένα στοιχείο ελέγχου Label στο πρότυπο συλλογής.

  5. Ορίστε την ιδιότητα Text της ετικέτας σε ThisItem.FullMatch.

    Η συλλογή συμπληρώνεται με κάθε λέξη στο κείμενο του παραδείγματος. Για να δείτε όλες τις λέξεις σε μία οθόνη, αλλάξτε το μέγεθος του προτύπου συλλογής και του στοιχείου ελέγχου ετικέτας.

    Ιδιότητα Text.