שתף דרך


IsMatch, Matchופונקציות MatchAll

חל על: אפליקציות Canvas אפליקציות Copilot Studio מונחות מודלים אפליקציות Power Platform CLI Dataverse פונקציות Power Pages

מבצע בדיקה לחיפוש התאמה או חילוץ חלקים של מחרוזת טקסט בהתבסס על תבנית.

תיאור

הפונקציה IsMatch בודקת אם מחרוזת טקסט תואמת לתבנית שעשויה לכלול תווים רגילים, תבניות מוגדרות מראש או ביטוי רגיל. הפונקציות Match והפונקציות MatchAll מחזירות את הפריטים התואמים, כולל תוויות משנה.

השתמש IsMatch כדי לאמת את מה שמשתמש הקליד בפקד קלט טקסט. לדוגמה, בדוק אם המשתמש הזין כתובת דואר אלקטרוני חוקית לפני שהתוצאה נשמרת במקור הנתונים שלך. אם הערך אינו תואם לקריטריונים שלך, הוסף פקדים אחרים המבקשים מהמשתמש לתקן את הערך.

השתמש Match כדי לחלץ את מחרוזת הטקסט הראשונה התואמת לתבנית MatchAll ולחלץ את כל מחרוזות הטקסט התואמות. חלץ תתי-עמודות כדי לנתח מחרוזות מורכבות.

Match מחזירה רשומה של מידע עבור ההתאמה הראשונה שנמצאה, ומחזירה MatchAll טבלת רשומות עבור כל התאמה שנמצאה. הרשומה או הרשומות מכילות:

עמודה‬ Type תיאור
בשם תת-התאמה או תת-התאמות טקסט לכל אחת מתיקיות המשנה בעלות השם יש עמודה משלה. האם ליצור טופס משנה בעל שם באמצעות (?<שם>... ) בביטוי הרגיל. אם לאות משנה בעלת שם זהה לשם של אחת מהעמודות המוגדרות מראש, תא המשנה מקבל קדימות ומופקת אזהרה. שנה את שם טופס המשנה כדי למנוע אזהרה זו.
FullMatch טקסט כל מחרוזת הטקסט שהותאמה.
StartMatch מספר המיקום ההתחלתי של ההתאמה בתוך מחרוזת הטקסט של הקלט. התו הראשון של המחרוזת מחזיר 1.
תוויות משנה, רק אם הפונקציה MatchOptions.NumberedSubMatches נמצאת בשימוש. טבלת עמודה יחידה של טקסט (העמודה ערך) הטבלה של תוויות משנה ממוספרות בסדר שבו הן מופיעות בביטוי הרגיל. בדרך כלל, קל יותר לעבוד עם תוויות משנה בעלות שם ומוזמנים. השתמש בפונקציה ForAll או בפונקציה Index כדי לעבוד עם התאמת משנה בודדת. אם לא הוגדרו כל תווי משנה בביטוי הרגיל, טבלה זו תהיה קיימת אך ריקה.

פונקציות אלה תומכות ב- MatchOptions. כברירת מחדל:

  • פונקציות אלה מבצעות התאמה תלויית רישיות. השתמש ב- MatchOptions.IgnoreCase כדי לבצע התאמות שאינן תלויות רישיות.
  • IsMatch תואמת למחרוזת הטקסט כולה (Complete MatchOption), MatchMatchAll בעודה וחיפוש התאמה בכל מקום במחרוזת הטקסט (מכיל MatchOption). השתמש ב- Complete, Contains, BeginsWith, או EndsWith כפי שמתאים עבור התרחיש שלך.

IsMatch מחזירה ערך True אם מחרוזת הטקסט תואמת לתבנית או ל- False אם היא אינה תואמת. Match מחזירה ערך ריק אם לא נמצאה התאמה שניתן לבדוק באמצעות הפונקציה IsBlank . MatchAll מחזירה טבלה ריקה אם לא נמצאה התאמה שניתן לבדוק עם הפונקציה IsEmpty .

אם אתה משתמש כדי MatchAll לפצל מחרוזת טקסט, שקול להשתמש בפונקציה Split , שהיא פשוטה ומהירה יותר.

תבניות

המפתח לשימוש בפונקציות אלה הוא תיאור התבנית שתתאים. עליך לתאר את התבנית במחרוזת טקסט כשילוב של:

  • תווים רגילים, כגון "abc" או "123".
  • תבניות מוגדרות מראש, כגון מכתב, ספרות מרובות, או דואר. (ה Match - enum מגדיר דפוסים אלה.)
  • קודים של ביטוי רגיל, כגון "\d+\s+\d+" או "[a-z]+".

שלב רכיבים אלה באמצעות אופרטור שרשור המחרוזת & לדוגמה, "abc" & Digit & "\s+" היא תבנית חוקית שמתאימה לתווים "a"‏, "b" ו- "c" ואחריהם ספרה בטווח של 0 עד 9, ולאחר מכן תו רווח לבן אחד לפחות.

תווים רגילים

התבנית הפשוטה ביותר היא רצף של תווים רגילים התואמים בדיוק.

לדוגמה, בעת שימוש עם הפונקציה IsMatch , המחרוזת "Hello" תואמת לתבנית "Hello" באופן מדויק. לא יותר ולא פחות. המחרוזת "hello!" אינה תואמת לתבנית בשל סימן הקריאה בסוף ומפני שהארישיות שגויה עבור האות "h". (ראה Match אפשרויות עבור דרכים לשינוי אופן פעולה זה.)

בשפת התבנית, התווים . ? * + ( ) [ ] ^ $ | \ שמורים למטרות מיוחדות. כדי להשתמש בתווים אלה, \ הוסף קידומת לתו באמצעות (קו נטוי הפוך) כדי לציין שיש לקחת את התו באופן מילולי, או השתמש באחד מהדפוסים המוגדרים מראש. לדוגמה, באפשרותך להתאים את המחרוזת "Hello?" באמצעות התבנית "Hello\\?" עם קו נטוי הפוך לפני סימן השאלה.

תבניות מוגדרות מראש

תבניות מוגדרות מראש מספקות דרך פשוטה להתאים לתו אחד מתוך ערכת תווים או לרצף של תווים מרובים. השתמש באופרטור שרשור המחרוזת & כדי לשלב מחרוזות טקסט משלך עם חברי Match הספירה:

Match ערך enum תיאור ביטוי רגיל
כֹּל מתאים לכל תו. .
פְּסִיק תואם פסיק ,. ,
סִפְרָה מתאים לספרה יחידה ("0" עד "9"). \d
אֶלֶקטרוֹנִי מתאים לכתובת דואר המכילה סמל "ב-" ("@") ושם תחום המכיל נקודה (".") ראה הערה
מַקָף מתאים למקף. - ראה הערה
LeftParen תואם לסוגריים שמאליים (. \(
מִכְתָב מתאים לאות. \p{L}
מספר ספרות מתאים לספרה אחת או יותר. \d+
מספר אותיות מתאים לאות אחת או יותר. \p{L}+
MultipleNonSpaces מתאים לתו אחד או יותר שאינם מוסיפים רווח לבן (לא רווח, טאב או שורה חדשה). \S+
MultipleSpaces מתאים לתו אחד או יותר שמוסיפים רווח לבן (רווח, טאב או שורה חדשה). \s+
NonSpace מתאים לתו יחיד שאינו מוסיף רווח לבן. \S
ספרות אופציונליות מתאים לאפס ספרות, ספרה אחת או יותר. \d*
אותיות אופציונליות מתאים לאפס אותיות, אות אחת או יותר. \p{L}*
אופציונליNonSpaces מתאים לאפס תווים, תו אחד או יותר שלא מוסיפים רווח לבן. \S*
אופציונלי Spaces מתאים לאפס תווים, תו אחד או יותר שמוסיפים רווח לבן. \s*
תְקוּפָה התאמה נקודה או נקודה .. \.
RightParen תואם לסוגריים ימני ). \)
מֶרחָב מתאים לתו שמוסיף רווח לבן. \s
כרטיסייה מתאים לתו טאב. \t

לדוגמה, התבנית "A" ו- MultipleDigits תואמות לאות "A" ואחריה ספרה אחת או יותר.

Power Apps משתמש בהגדרה שונה עבור Match. דואר אלקטרוני ו- Match. מקף צורה. הערך Text( Match.Email ) כדי לראות את הביטוי הרגיל המשמש את המארח שלך.

ביטויים רגילים

הדפוס שבו משתמשות פונקציות אלה נקרא ביטוי רגיל. החיוג הספציפי של Power Fx עבור ביטויים רגילים מפורט בביטויים רגילים ב- Power Fx.

ביטויים רגילים הם רבי-עוצמה ומשמשים מגוון רחב של מטרות. הם יכולים גם להיראות כמו רצף אקראי של סימני פיסוק. מאמר זה אינו מתאר את כל ההיבטים של ביטויים רגולריים, אך שפע של מידע, מדריכים וכלים זמינים באינטרנט.

לביטויים רגולריים יש היסטוריה ארוכה והם זמינים בשפות תכנות רבות. לכל שפת תכנות יש ניב משלה של ביטויים רגולריים, וישנם מעט סטנדרטים. אנו שואפים להבטיח כי אותו ביטוי רגיל מעניק את אותה תוצאה בכל יישומי Power Fx. תאימות אינה קלה להשגה מכיוון שהיא פועלת על גבי JavaScript ו-.NET, שביניהם הבדלים משמעותיים. Power Fx כדי לפעול בפלטפורמות שונות, ביטויים רגילים של Power Fx מוגבלים לקבוצת משנה של תכונות הנתמכות במגוון רחב של תכונות בתעשייה.

כתוצאה מכך, ביטויים רגילים מסוימים שעשויים לפעול בסביבות אחרות עשויים להיחסם או לדרוש שינויים ב- Power Fx. שגיאות בזמן עריכה מדווחות כאשר נתקלים בתכונות שאינן נתמכות. זוהי אחת הסיבות לכך שהביטוי הרגיל והאפשרויות חייבים להיות קבועים של זמן עריכה ולא דינאמיים (לדוגמה, מסופקים במשתנה).

הערה

Power Apps משתמש בגירסה קודמת של ביטויים רגילים של Power Fx עם פחות מגבלות, אך גם פחות תכונות. MatchOptions.DotAll ו - MatchOptions.FreeSpacing אינם זמינים וההגדרות של Match. דואר אלקטרוני ו- Match. המקף שונה. זוגות פונדקאיים ביוניקוד אינם מטופלים כתו יחיד. MatchOptions.NumberedSubMatches הוא ברירת המחדל. גירסת הביטויים הרגילים המתוארים כאן תהיה זמינה בקרוב ב- Power Apps, תחת בורר "תאימות Power Fx V1.0".

להלן כמה רכיבים בסיסיים של ביטויים רגילים הבונים מורכבות בניתוח מבנה טקסט של מספר.

תכונה דוגמה תיאור
מחלקת תווים מוגדרים מראש \d ביטוי רגיל זה תואם למספר בודד, כגון 1. מחלקת תווים תואמת לערכת תווים ומתאמת \d09 את הספרות הסטנדרטיות לספרות המוגדרות בקטגוריה "Nd" של תו Unicode. קיימות מחלקות תווים עבור אותיות ומספרים עם \w רווחים, כולל קווים חדשים עם \s. קיימות גם מחלקות תווים הפוכיות המותאמות לרישיות: \D תואמת לכל מה \d שלא.
אחד או יותר \d+ ביטוי רגיל זה תואם למספר אחד או יותר, כגון 123. אחרי + רכיב כתוב "אחד או יותר" של הרכיב האחרון.
אפס או אחד \+?\d ביטוי רגיל זה תואם לסימן + אופציונלי ואחריו מספר אחד בלבד, +123123כגון . לאחר ? רכיב כתוב "this is optional, it can occur zero or one time". ל + - יש נטוי הפוך לפניו כדי להבחין בו כתו ליטרלי במקום כשימוש "אחד או יותר".
קיבוץ ועריכה (-|\+)?\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. לא רק שביטוי רגיל מתאים למחרוזת כולה, הוא יכול גם לחלץ חלקים לשימוש בנוסחאות שלך, e במקרה זה החלק שלפני (או E) וה חלק שאחריו.

דוגמאות אלה מעניקות רק טעימה קטנה מה ביטויים רגילים יכולים לעשות. הם משמשים בדרך כלל לאימות מספרי מזהים, כתובות דואר אלקטרוני, מספרי טלפון, תאריכים ושעות, ולחלץ מידע מכל הסוגים של קבצי טקסט. המשך במסע שלך על-ידי קריאת ביטויים רגילים ב- Power Fx, התנסו באינטרנט והשתמשו בו לקבלת מידע נוסף.

Match אפשרויות

שנה את אופן הפעולה של פונקציות אלה על-ידי ציון אפשרות אחת או יותר, שאתה משלב באמצעות אופרטור שרשור המחרוזת (&).

ספירת MatchOptions תיאור השפעה על ביטוי רגיל
MatchOptions.BeginsWith התבנית מוכרחה להיות תואמת מתחילת הטקסט. מוסיפה ^ להתחלת הביטוי הרגיל.
MatchOptions.Complete ברירת מחדל עבור IsMatch ב- Power Apps. התבנית תואמת למחרוזת הטקסט כולה, מההתחלה עד הסוף. מוסיפה ^ להתחלה ו- $ לסוף הביטוי הרגיל.
MatchOptions.Contains ברירת מחדל Match עבור MatchAllו- , ומחוץ IsMatch ל- Power Apps. התבנית מוכרחה להופיע במקום כלשהו בטקסט, אבל לא צריכה להתחיל או לסיים אותו. לא משנה את הביטוי הרגיל.
התאםאפשרויות.DotAll משנה את אופן הפעולה של אופרטור . (נקודה) כך שיתאים לכל התווים, כולל תווי שורה חדשה. לא זמין ב- Power Apps. לא משנה את הביטוי הרגיל. אפשרות זו מקבילה לצירוף "s" הרגיל עבור ביטויים רגילים.
MatchOptions.EndsWith התבנית מוכרחה להיות תואמת לסוף מחרוזת הטקסט. מוסיפה $ לסוף הביטוי הרגיל.
MatchOptions.FreeSpacing הפונקציה מתעלמת מתארי רווח לבן, כולל קווים חדשים, בביטוי הרגיל. התעלמות מהערות סוף השורה החל מ- a # . לא זמין ב- Power Apps. משנה רק את האופן בו תחביר הביטוי הרגיל משתנה. אפשרות זו מקבילה לצירוף "x" הרגיל עבור ביטויים רגילים.
MatchOptions.IgnoreCase מתייחסת לאותיות גדולות ולאותיות קטנות כאותיות זהות. כברירת מחדל, ההתאמה היא תלוית רישיות. לא משנה את הביטוי הרגיל. אפשרות זו היא המקבילה למשנה "i" הסטנדרטי עבור ביטויים רגילים.
MatchOptions.Multiline שינוי אופן הפעולה ^ של $ והתאמה בסוף השורה. לא משנה את הביטוי הרגיל. אפשרות זו היא המקבילה למשנה "m" הסטנדרטי עבור ביטויים רגילים.
MatchOptions.NumberedSubMatches לכידות בעלות שם הן המועדפות מכיוון שהן קלות יותר להבנה ולתחזוקה. הביצועים משתפרים גם כאשר לכידות שאינן נחותות אינן נשמרות. אך עבור ביטויים רגילים ישנים יותר, מתייחס לכל קבוצה של סוגריים כלכידה ממוספרת הכלולה בטבלה SubMatches בתוצאה. ברירת מחדל ב- Power Apps. לא משנה את הביטוי הרגיל. לכידות בעלות שם אינן זמינות והפניות \1 לאחור לסגנונות זמינות.

השימוש MatchAll זהה לשימוש במ צירוף "g" הרגיל עבור ביטויים רגילים.

תחביר

IsMatch( טקסט, תבנית [, אפשרויות ] )

  • טקסט – חובה. מחרוזת הטקסט לבדיקה.
  • דפוס - חובה. התבנית שיש לבדוק כמחרוזת טקסט. שרשר תבניות מוגדרות מראש שהספירה מגדירה Match או מספקת ביטוי רגיל. התבנית חייבת להיות נוסחה קבועה ללא משתנים, מקורות נתונים או הפניות דינאמיות אחרות המשתנו בעת הפעלת היישום. שים לב, יש לבטא את הנוסחה כ- "Match. PredefinedPattern" לדוגמה Match. דואר אלקטרוני
  • אפשרויות – אופציונלי. שילוב מחרוזת טקסט של ערכי הספירה MatchOptions. כברירת מחדל, נעשה שימוש ב- MatchOptions.Complete. האפשרויות חייבות להיות נוסחה קבועה ללא משתנים, מקורות נתונים או הפניות דינאמיות אחרות המשתנו במהלך הפעלת היישום.

Match( טקסט, תבנית [, אפשרויות ] )

  • טקסט – חובה. מחרוזת הטקסט להתאמה.
  • דפוס - חובה. התבנית שיש להתאים כמחרוזת טקסט. שרשר תבניות מוגדרות מראש שהספירה מגדירה Match , או ספק ביטוי רגיל. דפוס חייב להיות נוסחה קבועה ללא כל משתנים, מקורות נתונים או הפניות דינמיות אחרות המשתנות עם הפעלת האפליקציה.
  • אפשרויות – אופציונלי. שילוב מחרוזת טקסט של ערכי הספירה MatchOptions. כברירת מחדל, נעשה שימוש ב- MatchOptions.Contains. האפשרויות חייבות להיות נוסחה קבועה ללא משתנים, מקורות נתונים או הפניות דינאמיות אחרות המשתנו בעת הפעלת היישום.

MatchAll( טקסט, תבנית [, אפשרויות ] )

  • טקסט – חובה. מחרוזת הטקסט להתאמה.
  • דפוס - חובה. התבנית שיש להתאים כמחרוזת טקסט. שרשר תבניות מוגדרות מראש שהספירה מגדירה 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 & ")>") מחלץ רק את חלק הדואר של פרטי הקשר. {
דואר אלקטרוני: "bob.jones@contoso.com",
FullMatch: "<bob.jones@contoso.com>",
מכת התחלה: 11
}
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" מחלץ רק את חלק הדואר של פרטי הקשר. לא נמצאה כתובת חוקית (אין סימן @), ולכן הפונקציה מחזירה blank. רֵיק
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) מחלץ את חלקי השפה, קובץ ה- Script והאזור של תגית השפה שהפונקציה Language מחזירה. תוצאות אלה משקפות את ארצות הברית, עיין בתיעוד הפונקציה Language‎ לקבלת דוגמאות נוספות. האופרטור (?: מקבץ תווים מבלי ליצור התאמת משנה נוספת. {
language: "en",
script: blank,
region: "US",
FullMatch:‏ "en-US",
מכת התחלה: 1
}
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) מחלץ את השעות, הדקות והשניות מערך המשך ISO 8601. המספרים שחולצו עדיין נמצאים במחרוזת טקסט; השתמש בפונקציה Value כדי להמיר אותה למספר לפני שיתבצעו בה פעולות מתמטיות. {
hours: "2",
דקות: "1",
שניות: "39",
FullMatch: "PT2H1M39S",
מכת התחלה: 1
}

בוא נתעמק בדוגמה האחרונה הזאת. אם רצית להמיר מחרוזת זו לערך תאריך/שעה באמצעות הפונקציה Time , עליך להעביר בנפרד את תבניות המשנה בעלות השם. לשם כך, השתמש בפונקציה With הפועלת ברשומה שמחזירה Match :

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

עבור דוגמאות אלה, הוסף פקד לחצן, הגדר את מאפיין OnSelect שלו לנוסחה זו ולאחר מכן בחר את הלחצן:

Set( pangram, "The quick brown fox jumps over the lazy dog." )
נוסחה תיאור תוצאה
Match( pangram, "THE", IgnoreCase ) מצא את כל ההתאמות של "THE" במחרוזת הטקסט שהמשתנה pangram מכיל. המחרוזת מכילה שני התאמות, אך רק הראשונה מוחזרת מכיוון שאתה משתמש ב- Match ולא ב- MatchAll. {
FullMatch: "The",
מכת התחלה: 32
}
MatchAll( pangram, "the" ) מצא את כל ההתאמות של "the" במחרוזת הטקסט שהמשתנה pangram מכיל. הטקסט תלוי רישיות, ולכן רק המופע השני של "the" נמצא. MatchAll עבור פגרם.
MatchAll( pangram, "the", IgnoreCase ) מצא את כל ההתאמות של "the" במחרוזת הטקסט שהמשתנה pangram מכיל. במקרה זה, הבדיקה אינה תלוית רישיות, ולכן שני המופעים של המילה נמצאים. MatchAll עם IgnoreCase.
MatchAll( pangram, "\b\wo\w\b" ) מוצא את כל המילים בנות שלוש האותיות עם "o" באמצע. המילה "חום" אינה כלולה מאחר שהיא אינה מילה של שלוש אותיות, ולכן היא אינה תואמת ל- "\b" (גבול מילה). MatchAll עבור פגרם עם b, wo, w ו- b.
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) מתאים לכל התווים בין "fox" ל- "dog". {
between:‏ "jumps over the lazy",
FullMatch: ‏"fox jumps over the lazy dog",
מכת התחלה: 17
}

כדי לראות את התוצאות MatchAll של בגלריה:

  1. במסך ריק, הוסף פקד גלריה אנכי ריק .

  2. הגדר את המאפיין Items של הגלריה ל MatchAll- ( Pangram, "\w+" ) או MatchAll( Pangram, MultipleLetters ).

    גלריית פריטים.

  3. בחר "הוסף פריט מהכרטיסיה 'הוספה'" באמצע פקד ה- gallery כדי לבחור את התבנית של הגלריה.

  4. הוסף פקד Label לתבנית הגלריה.

  5. הגדר את המאפיין Text‎ של התווית ל- ThisItem.FullMatch.

    הגלריה מלאה בכל מילה בטקסט לדוגמה שלנו. כדי לראות את כל המילים במסך אחד, שנה את גודל התבנית של הגלריה ואת פקד התווית.

    מאפיין טקסט.