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

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

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

Περιγραφή

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

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

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

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

Column Type Description
επώνυμη υπο-αντιστοίχιση ή υπο-αντιστοιχίσεις Μήνυμα κειμένου Κάθε επώνυμη δευτερεύουσα αντιστοίχιση θα έχει τη δική της στήλη. Δημιουργήσετε μια επώνυμη αντιστοίχιση χρησιμοποιώντας το (?<name>...) στην κανονική παράσταση. Εάν μια επώνυμη αντιστοίχιση έχει το ίδιο όνομα με μία από τις προκαθορισμένες στήλες (παρακάτω), η επώνυμη αντιστοίχιση έχει προτεραιότητα και δημιουργείται μια προειδοποίηση. Για να αποφύγετε αυτήν την προειδοποίηση, μετονομάστε την επώνυμη αντιστοίχιση.
FullMatch Κείμενο Όλες τις συμβολοσειρές κειμένου που αντιστοιχίστηκαν.
StartMatch Αριθμός Η θέση εκκίνησης της αντιστοίχισης εντός της συμβολοσειράς εισαγωγής κειμένου. Ο πρώτος χαρακτήρας της συμβολοσειράς επιστρέφει 1.
SubMatches Πίνακας κειμένου μίας στήλης (στήλη Τιμή) Ο πίνακας με τις επώνυμες και τις μη επώνυμες αντιστοιχίσεις με τη σειρά με την οποία εμφανίζονται στην κανονική παράσταση. Γενικά, η εργασία με επώνυμες δευτερεύουσες αντιστοιχίσεις είναι ευκολότερη και ενθαρρύνεται. Χρησιμοποιήστε η συνάρτηση 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 Περιγραφή Τακτική παράσταση
Any Αντιστοίχιση με οποιονδήποτε χαρακτήρα. .
Comma Αντιστοίχιση με ένα κόμμα. ,
Digit Αντιστοίχιση με ένα μόνο ψηφίο ("0" έως "9"). \d
Διεύθυνση ηλεκτρονικού ταχυδρομείου Αντιστοίχιση με μια διεύθυνση ηλεκτρονικού ταχυδρομείου που περιέχει ένα σύμβολο ("@") και ένα όνομα τομέα που περιέχει μια τελεία (".") .+\@.+\\.[^\\.]{2,}
Hyphen Αντιστοίχιση με ένα ενωτικό. \-
LeftParen Αντιστοίχιση με μια αριστερή παρένθεση "(". \(
Letter Αντιστοίχιση με ένα γράμμα. \p{L}
MultipleDigits Αντιστοίχιση με ένα ή περισσότερα ψηφία. \d+
MultipleLetters Αντιστοίχιση με ένα ή περισσότερα γράμματα. \p{L}+
MultipleNonSpaces Αντιστοιχεί έναν ή περισσότερους χαρακτήρες που δεν προσθέτουν κενά διαστήματα (όχι διάστημα, χαρακτήρα tab ή χαρακτήρα αλλαγής γραμμής). \S+
MultipleSpaces Αντιστοιχεί έναν ή περισσότερους χαρακτήρες που προσθέτουν κενά διαστήματα (διάστημα, χαρακτήρα tab ή χαρακτήρα αλλαγής γραμμής). \s+
NonSpace Αντιστοιχεί έναν μόνο χαρακτήρα που δεν προσθέτει κενό διάστημα. \S
OptionalDigits Αντιστοιχεί κανένα, ένα ή περισσότερα ψηφία. \d*
OptionalLetters Αντιστοιχεί κανένα, ένα ή περισσότερα γράμματα. \p{L}*
OptionalNonSpaces Συμφωνεί με κανέναν, έναν ή περισσότερους χαρακτήρες που δεν προσθέτουν κενό διάστημα. \S*
OptionalSpaces Συμφωνεί με κανέναν, έναν ή περισσότερους χαρακτήρες που προσθέτουν κενό διάστημα. \s*
Period Αντιστοίχιση με μια τελεία ή κουκκίδα ("."). \.
RightParen Αντιστοίχιση με μια δεξιά παρένθεση ")". \)
Space Αντιστοίχιση με έναν χαρακτήρα που προσθέτει κενό διάστημα. \s
Καρτέλα Αντιστοίχιση με χαρακτήρα καρτέλας. \t

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

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

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

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

Οι κανονικές παραστάσεις είναι σε διαφορετικές διαλέκτους και το Power Apps χρησιμοποιεί μια παραλλαγή της διαλέκτου της JavaScript. Ανατρέξτε στην ενότητα σύνταξη κανονικής παράστασης για μια εισαγωγή στη σύνταξη. Υποστηρίζονται οι επώνυμες δευτερεύουσες αντιστοιχίσεις (μερικές φορές ονομάζονται ομάδες αποτύπωσης):

  • Επώνυμες δευτερεύουσες αντιστοιχίσεις: (?<name>...)
  • Επώνυμες αναδρομικές αναφορές: \k <name>

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

Επιλογές αντιστοίχισης

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

Απαρίθμηση MatchOptions Description Επίπτωση σε μια κανονική παράσταση
MatchOptions.BeginsWith Το μοτίβο πρέπει να αντιστοιχίσει από την αρχή του κειμένου. Προσθέτει ένα ^ στην αρχή της κανονικής παράστασης.
MatchOptions.Complete Προεπιλογή για τη συνάρτηση IsMatch. Το μοτίβο πρέπει να αντιστοιχίσει σε ολόκληρη τη συμβολοσειρά κειμένου, από την αρχή ως το τέλος. Προσθέτει ένα ^ στην αρχή και ένα $ στο τέλος της κανονικής παράστασης.
MatchOptions.Contains Προεπιλογή για Match και MatchAll. Το μοτίβο πρέπει να εμφανίζεται σε κάποιο σημείο του κειμένου, αλλά δεν χρειάζεται να είναι στην αρχή ή στο τέλος του. Δεν τροποποιεί την κανονική παράσταση.
MatchOptions.EndsWith Το μοτίβο πρέπει να αντιστοιχίσει στο τέλος της συμβολοσειράς κειμένου. Προσθέτει ένα $ στο τέλος της κανονικής παράστασης.
MatchOptions.IgnoreCase Επεξεργάζεται κεφαλαία και πεζά γράμματα ως πανομοιότυπα. Από προεπιλογή, η αντιστοίχιση κάνει διάκριση πεζών-κεφαλαίων. Δεν τροποποιεί την κανονική παράσταση. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "i" για κανονικές παραστάσεις.
MatchOptions.Multiline Κάνει αντιστοίχιση σε πολλές γραμμές. Δεν τροποποιεί την κανονική παράσταση. Αυτή η επιλογή είναι το ισοδύναμο του τυπικού τροποποιητή "m" για κανονικές παραστάσεις.

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

Σύνταξη

IsMatch( Text, Pattern [, Options ] )

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

Match( Text, Pattern [, Options ] )

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

MatchAll( Text, Pattern [, Options ] )

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

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

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

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

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

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

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

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

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

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

Παραδείγματα 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.
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: "fox jumps over the lazy dog",
SubMatches: [ "jumps over the lazy" ],
StartMatch: 17
}

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

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

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

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

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

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

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

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

    Ιδιότητα Text.