Συναρτήσεις IsMatch, Match και MatchAll
Ισχύει για: Εφαρμογές καμβά Εφαρμογές Power Pages Power Platform βάσει μοντέλου CLI
Δοκιμές για ταίριασμα ή εξάγει τμήματα μιας συμβολοσειράς κειμένου με βάση ένα μοτίβο.
Περιγραφή
Η συνάρτηση IsMatch ελέγχει εάν μια συμβολοσειρά κειμένου αντιστοιχεί ένα μοτίβο που μπορεί να περιλαμβάνει συνήθεις χαρακτήρες, προκαθορισμένα μοτίβα ή μια κανονική παράσταση. Οι συναρτήσεις Match και MatchAll επιστρέφουν ό,τι αντιστοιχίστηκε, συμπεριλαμβανομένων των δευτερευόντων αντιστοιχίσεων.
Χρησιμοποιήστε τη συνάρτηση IsMatch για την επικύρωση αυτού που έχει πληκτρολογήσει ένας χρήστης σε ένα στοιχείο ελέγχου Text input. Για παράδειγμα, μπορείτε να επιβεβαιώσετε εάν ο χρήστης έχει εισαγάγει μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου πριν από την αποθήκευση του αποτελέσματος στην προέλευση δεδομένων. Εάν η καταχώρηση δεν συμφωνεί με τα κριτήριά σας, προσθέστε άλλα στοιχεία ελέγχου που ζητούν από τον χρήστη να διορθώσει την καταχώρηση.
Χρησιμοποιήστε τη συνάρτηση Match για να εξαγάγετε την πρώτη συμβολοσειρά κειμένου που ταιριάζει με ένα μοτίβο και τη συνάρτηση MatchAll για να εξαγάγετε όλες τις συμβολοσειρές κειμένου που ταιριάζουν. Επίσης, μπορείτε να εξαγάγετε δευτερεύουσες αντιστοιχίσεις για την ανάλυση σύνθετων συμβολοσειρών.
Η επιλογή Match επιστρέφει μια εγγραφή πληροφοριών για την πρώτη αντιστοίχιση που βρέθηκε και η επιλογή MatchAll επιστρέφει έναν πίνακα εγγραφών για κάθε αντιστοίχιση που βρέθηκε. Η καρτέλα ή οι καρτέλες περιέχουν:
Column | Type | Description |
---|---|---|
Ονομασμένη δευτερεύουσα αντιστοίχιση ή δευτερεύουσες αντιστοιχίσεις | Μήνυμα κειμένου | Κάθε επώνυμη δευτερεύουσα αντιστοίχιση θα έχει τη δική της στήλη. Δημιουργήσετε μια επώνυμη αντιστοίχιση χρησιμοποιώντας το (?<name>...) στην κανονική παράσταση. Εάν μια επώνυμη αντιστοίχιση έχει το ίδιο όνομα με μία από τις προκαθορισμένες στήλες (παρακάτω), η επώνυμη αντιστοίχιση έχει προτεραιότητα και δημιουργείται μια προειδοποίηση. Για να αποφύγετε αυτήν την προειδοποίηση, μετονομάστε την επώνυμη αντιστοίχιση. |
Πλήρης αγώνας | Κείμενο | Όλες τις συμβολοσειρές κειμένου που αντιστοιχίστηκαν. |
StartMatch | Αριθμός | Η θέση εκκίνησης της αντιστοίχισης εντός της συμβολοσειράς εισαγωγής κειμένου. Ο πρώτος χαρακτήρας της συμβολοσειράς επιστρέφει 1. |
Δευτερεύουσες αντιστοιχίσεις | Πίνακας κειμένου μίας στήλης (στήλη Τιμή) | Ο πίνακας με τις επώνυμες και τις μη επώνυμες αντιστοιχίσεις με τη σειρά με την οποία εμφανίζονται στην κανονική παράσταση. Γενικά, η εργασία με επώνυμες δευτερεύουσες αντιστοιχίσεις είναι ευκολότερη και ενθαρρύνεται. Χρησιμοποιήστε η συνάρτηση ForAll ή τις συναρτήσεις Last( FirstN( ... ) ) για να εργαστείτε με μια μεμονωμένη δευτερεύουσα αντιστοίχιση. Εάν δεν έχουν καθοριστεί δευτερεύουσες αντιστοιχίσεις στην κανονική παράσταση, αυτός ο πίνακας θα είναι παρών, αλλά κενός. |
Αυτές οι συναρτήσεις υποστηρίζουν 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". Ούτε περισσότερα ούτε λιγότερα. Η συμβολοσειρά "γεια σας!" δεν συμφωνεί με το μοτίβο επειδή υπάρχει το θαυμαστικό στο τέλος και επειδή το γράμμα "h" είναι πεζό αντί για κεφαλαίο. (Ανατρέξτε στην ενότητα MatchOptions για τρόπους για να τροποποιήσετε αυτή τη συμπεριφορά.)
Στη γλώσσα μοτίβων, ορισμένοι χαρακτήρες έχουν δεσμευτεί για ειδικούς σκοπούς. Για να χρησιμοποιήσετε αυτούς τους χαρακτήρες, είτε προσθέστε πριν από τον χαρακτήρα μια \ (ανάστροφη κάθετος) για να υποδείξετε ότι ο χαρακτήρας θα πρέπει να εκληφθεί κυριολεκτικά είτε χρησιμοποιήστε ένα από τα προκαθορισμένα μοτίβα που περιγράφονται πιο κάτω σε αυτό το θέμα. Αυτός ο πίνακας παραθέτει τους ειδικούς χαρακτήρες:
Ειδικός χαρακτήρας | Περιγραφή |
---|---|
. | τελεία ή τελεία |
? | ερωτηματικό |
* | αστερίσκος |
+ | συν |
( ) | παρενθέσεις |
[ ] | αγκύλες |
{ } | άγκυστρα |
^ | καρέ |
$ | σύμβολο δολαρίου |
| | κάθετη γραμμή |
\ | ανάστροφη κάθετος |
Για παράδειγμα, μπορείτε να ταιριάζει με το "Γεια σας;" χρησιμοποιώντας το μοτίβο "Γεια σας\;" με κάθετο προς τα πίσω πριν από το ερωτηματικό.
Προκαθορισμένα μοτίβα
Τα προκαθορισμένα μοτίβα παρέχουν έναν απλό τρόπο ώστε να αντιστοιχίσετε είτε ένα σύνολο χαρακτήρων είτε μια ακολουθία πολλών χαρακτήρων. Χρησιμοποιήστε τον τελεστή συνένωσης συμβολοσειρών & για να συνδυάσετε τις δικές σας συμβολοσειρές κειμένου με τα μέλη της απαρίθμησης της συνάρτησης Match:
Απαρίθμηση Match | Περιγραφή | Τακτική παράσταση |
---|---|---|
Όποιος | Αντιστοίχιση με οποιονδήποτε χαρακτήρα. | . |
Κόμμα | Αντιστοίχιση με ένα κόμμα. | , |
Ψηφίο | Αντιστοίχιση με ένα μόνο ψηφίο ("0" έως "9"). | \d |
Αποστολή μηνύματος ηλεκτρονικού ταχυδρομείου | Αντιστοίχιση με μια διεύθυνση ηλεκτρονικού ταχυδρομείου που περιέχει ένα σύμβολο ("@") και ένα όνομα τομέα που περιέχει μια τελεία (".") | .+\@.+\\.[^\\.]{2,} |
Ενωτικό | Αντιστοίχιση με ένα ενωτικό. | \- |
LeftParen | Αντιστοίχιση με μια αριστερή παρένθεση "(". | \( |
Γράμμα | Αντιστοίχιση με ένα γράμμα. | \p{L} |
ΠολλαπλάΨηφία | Αντιστοίχιση με ένα ή περισσότερα ψηφία. | \d+ |
ΠολλαπλάΓράμματα | Αντιστοίχιση με ένα ή περισσότερα γράμματα. | \p{L}+ |
MultipleNonSpaces | Αντιστοιχεί έναν ή περισσότερους χαρακτήρες που δεν προσθέτουν κενά διαστήματα (όχι διάστημα, χαρακτήρα tab ή χαρακτήρα αλλαγής γραμμής). | \S+ |
Πολλαπλοί χώροι | Αντιστοιχεί έναν ή περισσότερους χαρακτήρες που προσθέτουν κενά διαστήματα (διάστημα, χαρακτήρα tab ή χαρακτήρα αλλαγής γραμμής). | \s+ |
Μη διάστημα | Αντιστοιχεί έναν μόνο χαρακτήρα που δεν προσθέτει κενό διάστημα. | \S |
ΠροαιρετικάΨηφία | Αντιστοιχεί κανένα, ένα ή περισσότερα ψηφία. | \d* |
ΠροαιρετικάΓράμματα | Αντιστοιχεί κανένα, ένα ή περισσότερα γράμματα. | \p{L}* |
ΠροαιρετικόΜη κενά διαστήματα | Συμφωνεί με κανέναν, έναν ή περισσότερους χαρακτήρες που δεν προσθέτουν κενό διάστημα. | \S* |
ΠροαιρετικάΧώροι | Συμφωνεί με κανέναν, έναν ή περισσότερους χαρακτήρες που προσθέτουν κενό διάστημα. | \s* |
Περίοδος | Αντιστοίχιση με μια τελεία ή κουκκίδα ("."). | \. |
ΔεξιάParen | Αντιστοίχιση με μια δεξιά παρένθεση ")". | \) |
Χώρος | Αντιστοίχιση με έναν χαρακτήρα που προσθέτει κενό διάστημα. | \s |
Καρτέλα | Αντιστοίχιση με χαρακτήρα καρτέλας. | \t |
Για παράδειγμα, το μοτίβο "A" & MultipleDigits θα αντιστοιχίσει το γράμμα "A", ακολουθούμενο από ένα ή περισσότερα ψηφία.
Κανονικές παραστάσεις
Το μοτίβο που χρησιμοποιούν αυτές οι συναρτήσεις είναι μια κανονική παράσταση. Οι συνήθεις χαρακτήρες και προκαθορισμένα μοτίβα που περιγράφονται παραπάνω σε αυτό το θέμα βοηθούν στη δόμηση κανονικών παραστάσεων.
Οι κανονικές παραστάσεις είναι πολύ ισχυρές, είναι διαθέσιμες σε πολλές γλώσσες προγραμματισμού και χρησιμοποιούνται για ένα ευρύ φάσμα σκοπών. Επίσης, είναι δυνατό να μοιάζουν συχνά με μια τυχαία αλληλουχία σημείων στίξης. Αυτό το άρθρο δεν περιγράφει όλες τις πτυχές των κανονικών παραστάσεων, αλλά υπάρχει πληθώρα πληροφοριών, μαθημάτων και εργαλείων στο Web.
Οι κανονικές παραστάσεις είναι σε διαφορετικές διαλέκτους και το Power Apps χρησιμοποιεί μια παραλλαγή της διαλέκτου της JavaScript. Ανατρέξτε στην ενότητα σύνταξη κανονικής παράστασης για μια εισαγωγή στη σύνταξη. Υποστηρίζονται οι επώνυμες δευτερεύουσες αντιστοιχίσεις (μερικές φορές ονομάζονται ομάδες αποτύπωσης):
- Επώνυμες δευτερεύουσες αντιστοιχίσεις: (?<name>...)
- Επώνυμες αναδρομικές αναφορές: \k <name>
Στον πίνακα απαρίθμησης Αντιστοίχιση που προηγήθηκε σε αυτό το θέμα, κάθε απαρίθμηση εμφανίζεται στην ίδια γραμμή με την αντίστοιχη κανονική παράσταση.
Επιλογές αντιστοίχισης
Μπορείτε να τροποποιήσετε τη συμπεριφορά αυτών των συναρτήσεων καθορίζοντας μία ή περισσότερες επιλογές, τις οποίες μπορείτε να συνδυάσετε με τον τελεστή συνένωσης συμβολοσειρών (&).
Απαρίθμηση MatchOptions | Description | Επίπτωση σε μια κανονική παράσταση |
---|---|---|
MatchOptions.BeginsWith | Το μοτίβο πρέπει να αντιστοιχίσει από την αρχή του κειμένου. | Προσθέτει ένα ^ στην αρχή της κανονικής παράστασης. |
MatchOptions.Complete | Προεπιλογή για τη συνάρτηση IsMatch. Το μοτίβο πρέπει να αντιστοιχίσει σε ολόκληρη τη συμβολοσειρά κειμένου, από την αρχή ως το τέλος. | Προσθέτει ένα ^ στην αρχή και ένα $ στο τέλος της κανονικής παράστασης. |
MatchOptions.Περιέχει | Προεπιλογή για Match και MatchAll. Το μοτίβο πρέπει να εμφανίζεται σε κάποιο σημείο του κειμένου, αλλά δεν χρειάζεται να είναι στην αρχή ή στο τέλος του. | Δεν τροποποιεί την κανονική παράσταση. |
MatchOptions.EndsWith | Το μοτίβο πρέπει να αντιστοιχίσει στο τέλος της συμβολοσειράς κειμένου. | Προσθέτει ένα $ στο τέλος της κανονικής παράστασης. |
MatchOptions.IgnoreCase | Επεξεργάζεται κεφαλαία και πεζά γράμματα ως πανομοιότυπα. Από προεπιλογή, η αντιστοίχιση κάνει διάκριση πεζών-κεφαλαίων. | Δεν τροποποιεί την κανονική παράσταση. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "i" για κανονικές παραστάσεις. |
MatchOptions.Multiline | Κάνει αντιστοίχιση σε πολλές γραμμές. | Δεν τροποποιεί την κανονική παράσταση. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "m" για κανονικές παραστάσεις. |
Η χρήση της συνάρτησης MatchAll είναι ισοδύναμη με τη χρήση του τυπικού τροποποιητή "g" για κανονικές παραστάσεις.
Σύνταξη
IsMatch( Κείμενο; Μοτίβο [; Επιλογές ] )
- Κείμενο – Απαιτείται. Η συμβολοσειρά κειμένου για έλεγχο.
- Μοτίβο – Απαιτείται. Το μοτίβο για έλεγχο, ως συμβολοσειρά κειμένου. Συνενώστε προκαθορισμένα μοτίβα που ορίζονται από την απαρίθμηση της Match ή δώστε μια κανονική παράσταση. Το μοτίβο πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.
- Επιλογές – Προαιρετικό. Ένας συνδυασμός συμβολοσειρών κειμένου τιμών της απαρίθμησης MatchOptions. Από προεπιλογή, χρησιμοποιείται η MatchOptions.Complete.
Ταίριασμα( Κείμενο; Μοτίβο [; Επιλογές ] )
- Κείμενο – Απαιτείται. Η συμβολοσειρά κειμένου για αντιστοίχιση.
- Μοτίβο – Απαιτείται. Το μοτίβο για αντιστοίχιση ως συμβολοσειρά κειμένου. Συνενώστε προκαθορισμένα μοτίβα που ορίζονται από την απαρίθμηση της Match ή δώστε μια κανονική παράσταση. Το μοτίβο πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.
- Επιλογές – Προαιρετικό. Ένας συνδυασμός συμβολοσειρών κειμένου τιμών της απαρίθμησης MatchOptions. Από προεπιλογή, χρησιμοποιείται η MatchOptions.Contains.
MatchAll( Κείμενο; Μοτίβο [; Επιλογές ] )
- Κείμενο – Απαιτείται. Η συμβολοσειρά κειμένου για αντιστοίχιση.
- Μοτίβο – Απαιτείται. Το μοτίβο για αντιστοίχιση ως συμβολοσειρά κειμένου. Συνενώστε προκαθορισμένα μοτίβα που ορίζονται από την απαρίθμηση της Match ή δώστε μια κανονική παράσταση. Το μοτίβο πρέπει να είναι ένας σταθερός τύπος χωρίς μεταβλητές, προελεύσεις δεδομένων ή άλλες δυναμικές αναφορές που αλλάζουν καθώς εκτελείται η εφαρμογή.
- Επιλογές – Προαιρετικό. Ένας συνδυασμός συμβολοσειρών κειμένου τιμών της απαρίθμησης MatchOptions. Από προεπιλογή, χρησιμοποιείται η MatchOptions.Contains.
Παραδείγματα IsMatch
Συνήθεις χαρακτήρες
Φανταστείτε ότι η εφαρμογή σας περιέχει ένα στοιχείο ελέγχου Text input που ονομάζεται 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", Digit & Digit & Digit & Hyphen & Digit & Digit & Hyphen & Digit & Digit & Digit & Digit ) |
Αντιστοιχεί έναν αριθμό κοινωνικής ασφάλισης των Ηνωμένων Πολιτειών | πιστός |
IsMatch( "joan@contoso.com", Email ) |
Αντιστοιχεί μια διεύθυνση ηλεκτρονικού ταχυδρομείου | πιστός |
IsMatch( "123.456", MultipleDigits & Period & OptionalDigits ) |
Αντιστοιχεί μια ακολουθία ψηφίων, ένα διάστημα και, στη συνέχεια, κανένα ή περισσότερα ψηφία. | πιστός |
IsMatch( "123", MultipleDigits & Period & 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>", SubMatches: [ "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", SubMatches: [ "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", SubMatches:["2","1","39"], StartMatch: 1 } |
Ας εμβαθύνουμε σε αυτό το τελευταίο παράδειγμα. Εάν θελήσατε να μετατρέψετε αυτήν τη συμβολοσειρά σε τιμή "ημερομηνία/ώρα" χρησιμοποιώντας τη συνάρτηση Time, πρέπει να περάσετε στις επώνυμες δευτερεύουσες αντιστοιχίσεις μεμονωμένα. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε τη συνάρτηση 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", SubMatches: [ ], StartMatch: 32 } |
MatchAll( pangram, "the" ) |
Βρείτε όλες τις αντιστοιχίσεις του "the" στη συμβολοσειρά κειμένου που περιέχει η μεταβλητή pangram. Στη δοκιμή γίνεται διάκριση πεζών-κεφαλαίων, επομένως εντοπίζεται μόνο η δεύτερη παρουσία του "the". Η στήλη των δευτερευουσών αντιστοιχίσεων είναι κενή επειδή δεν έχουν καθοριστεί δευτερεύουσες αντιστοιχίσεις. | |
MatchAll( pangram, "the", IgnoreCase ) |
Βρείτε όλες τις αντιστοιχίσεις του "the" στη συμβολοσειρά κειμένου που περιέχει η μεταβλητή pangram. Σε αυτήν την περίπτωση, δεν γίνεται διάκριση πεζών-κεφαλαίων στη δοκιμή, επομένως εντοπίζονται και οι δύο παρουσίες της λέξης. Η στήλη των δευτερευουσών αντιστοιχίσεων είναι κενή επειδή δεν έχουν καθοριστεί δευτερεύουσες αντιστοιχίσεις. | |
MatchAll( pangram, "\b\wo\w\b" ) |
Βρίσκει όλες τις λέξεις τριών γραμμάτων με ένα "ο" στη μέση. Λάβετε υπόψη σας ότι το "brown" εξαιρείται επειδή δεν είναι λέξη τριών γραμμάτων και, επομένως, δεν ταιριάζει με το "\b" (όριο λέξης). | |
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) |
Ταιριάζει με όλους τους χαρακτήρες ανάμεσα στις επιλογές "αλεπού" και "σκύλος". | { μεταξύ: "jumps over the lazy", FullMatch: "fox jumps over the lazy dog", SubMatches: [ "jumps over the lazy" ], StartMatch: 17 } |
Για να δείτε τα αποτελέσματα του MatchAll σε μια συλλογή:
Σε μια κενή οθόνη, εισαγάγετε ένα κενό κάθετο στοιχείο ελέγχου Gallery.
Ορίστε την ιδιότητα Items στο MatchAll( pangram, "\w+" ) ή MatchAll( pangram, MultipleLetters ).
Επιλέξτε "Προσθήκη στοιχείου από την καρτέλα Εισαγωγή "στη μέση του στοιχείου ελέγχου "συλλογή" για να επιλέξετε το πρότυπο της συλλογής.
Προσθέστε ένα στοιχείο ελέγχου Label στο πρότυπο συλλογής.
Ορίστε την ιδιότητα Text της ετικέτας σε ThisItem.FullMatch.
Η συλλογή συμπληρώνεται με κάθε λέξη στο κείμενο του παραδείγματος. Αλλάξτε το μέγεθος του προτύπου της συλλογής και του στοιχείου ελέγχου ετικέτας, προκειμένου να δείτε όλες τις λέξεις σε μία οθόνη.