مشاركة عبر


IsMatchالدالات Matchو و MatchAll

ينطبق على: تطبيقات Canvas لتطبيقات Copilot Studio المستندة إلى نموذج وظائف Power Platform CLI Dataverse Power Pages

اختبارات لمطابقة أجزاء من سلسلة نصية أو استخراجها استنادا إلى نمط.

‏‏الوصف

تختبر IsMatch الدالة ما إذا كانت السلسلة النصية تطابق نمطا يمكن أن يتضمن أحرفا عادية أو أنماطا معرفة مسبقا أو تعبيرا عاديا. ترجع Match الدالتين و MatchAll ما تمت مطابقته، بما في ذلك التطابقات الفرعية.

استخدم IsMatch للتحقق من صحة ما اكتبه المستخدم في عنصر تحكم إدخال نص . على سبيل المثال، تأكد مما إذا كان المستخدم قد أدخل عنوان بريد إلكتروني صالحا قبل حفظ النتيجة في مصدر البيانات. إذا لم يتطابق الإدخال مع معاييرك، أضف عناصر تحكم أخرى تطالب المستخدم بإصلاح الإدخال.

استخدم Match لاستخراج السلسلة النصية الأولى التي تطابق نمطا واستخراج MatchAll كافة السلاسل النصية المتطابقة. استخراج التطابقات الفرعية لتحليل السلاسل المعقدة.

Match إرجاع سجل معلومات للمطابقة الأولى التي تم العثور عليها، وإرجاع MatchAll جدول سجلات لكل تطابق تم العثور عليه. يحتوي السجل أو السجلات على:

Column نوع ‏‏الوصف
المطابقة الفرعية المسماة أو التطابقات الفرعية نص كل تطابق فرعي مسمى له عموده الخاص. إنشاء تطابق فرعي مسمى باستخدام (؟<اسم>... ) في التعبير العادي. إذا كان للتطابق الفرعي المسمى نفس اسم أحد الأعمدة المعرفة مسبقا، فإن المباراة الفرعية لها الأسبقية، ويتم إنشاء تحذير. أعد تسمية التطابق الفرعي لتجنب هذا التحذير.
فول ماتش نص كل السلسلة النصية المطابقة.
ستارت ماتش الرقم موضع البداية للمطابقة ضمن سلسلة نص الإدخال. يقوم الحرف الأول من السلسلة بإرجاع 1.
التطابقات الفرعية، فقط إذا تم استخدام MatchOptions.NumberedSubMatches . جدول أحادي العمود للنص (عمود القيمة) جدول التطابقات الفرعية ذات التعداد الرقمي بالترتيب الذي تظهر به في التعبير العادي. بشكل عام، يسهل العمل مع التطابقات الفرعية المسماة ويتم تشجيعها. استخدم الدالة ForAll أو الدالة Index للعمل مع مطابقة فرعية فردية. إذا لم يتم تعريف أي تطابقات فرعية في التعبير العادي، فسيكون هذا الجدول موجودا ولكنه فارغ.

تدعم هذه الوظائف MatchOptions. بشكل افتراضي:

  • تؤدي هذه الوظائف مطابقة حساسة لحالة الأحرف. استخدم MatchOptions.IgnoreCase لإجراء مطابقات غير حساسة لحالة الأحرف.
  • IsMatch يطابق السلسلة النصية بأكملها (Complete MatchOption)، بينما MatchMatchAll ابحث عن تطابق في أي مكان في السلسلة النصية (يحتوي على MatchOption). استخدم الكامل أو يحتوي على أو BeginsWith أو EndsWith حسب ما يتناسب مع السيناريو الخاص بك.

IsMatch إرجاع true إذا كانت السلسلة النصية تطابق النمط أو false إذا لم تكن كذلك. Match إرجاع فارغ إذا لم يتم العثور على تطابق يمكن اختباره باستخدام الدالة IsBlank . MatchAll إرجاع جدول فارغ إذا لم يتم العثور على تطابق يمكن اختباره باستخدام الدالة IsEmpty .

إذا كنت تستخدم MatchAll لتقسيم سلسلة نصية، ففكر في استخدام الدالة Split ، وهي أبسط وأسرع.

الأنماط

المفتاح لاستخدام هذه الوظائف في وصف النمط للمطابقة. تصف النمط في سلسلة نصية على أنه مزيج من:

  • أحرف عادية مثل "‏abc‏" أو "‏123".
  • أنماط معرفه مسبقًا، مثل الحرف أو MultipleDigits أو البريد الإلكتروني. Match(يحدد قائمة التعداد هذه الأنماط.)
  • رموز التعبير العادية، مثل "‏\d+\s+\d+" أو "‏[a-z]+".

دمج هذه العناصر باستخدام عامل تشغيل سلسلة السلسلة على سبيل المثال، "‏abc" ورقم و"‏\s+" هو نمط صالح يتطابق مع الأحرف "a" و"b" و"c" متبوعًا برقم من 0 إلى 9 متبوعًا بحرف مسافة واحدة على الأقل.

الأحرف العادية

أبسط نمط هو تسلسل من الأحرف العادية التي تتطابق تماما.

على سبيل المثال، عند استخدامها مع الدالة IsMatch ، تتطابق السلسلة "Hello" مع النمط "Hello" بالضبط. لا أكثر ولا أقل. لا تتطابق السلسلة "hello!" مع النمط بسبب علامة التعجب في النهاية ولأن الحالة خاطئة للحرف "h". (راجع Match خيارات طرق تعديل هذا السلوك.)

في لغة النمط، يتم حجز الأحرف . ? * + ( ) [ ] ^ $ | \ لأغراض خاصة. لاستخدام هذه الأحرف، قم إما ببادئة الحرف ب \ (مائل عكسي) للإشارة إلى أنه يجب أخذ الحرف حرفيا، أو استخدم أحد الأنماط المعرفة مسبقا. على سبيل المثال، يمكنك مطابقة السلسلة "Hello?" باستخدام النمط "Hello\\?" مع الشرطة المائلة للخلف قبل علامة الاستفهام.

أنماط محددة مسبقًا

توفر الأنماط المحددة مسبقًا طريقة بسيطة لمطابقة إما مجموعة من الشخصيات أو سلسلة من الأحرف المتعددة. استخدم عامل تشغيل سلسلة السلسلة و لدمج السلاسل النصية الخاصة بك مع أعضاء Match قائمة التعداد:

Match قائمة تعداد ‏‏الوصف التعبير العادي
أي تطابق أي حرف. .
فاصلة يطابق فاصلة ,. ,
ارقام تتطابق مع رقم واحد ("0" إلى "9"). \d
رسَالَة إلكتُرُونية مطابقة عنوان بريد إلكتروني يحتوي على رمز "at" ("@") واسم المجال الذي يحتوي على نقطة (".") راجع الملاحظة
شحطة مطابقة شرطة. - راجع الملاحظة
ليفت بارين يتطابق مع قوس ( أيسر. \(
رسالة مطابقة حرف. \p{L}
متعدد الأرقام مطابقة واحد أو أكثر من الأرقام. \d+
متعدد الأحرف مطابقة واحد أو أكثر من الأحرف. \p{L}+
MultipleNonSpaces مطابقة حرف واحد أو أكثر لا يضيف مسافة بيضاء (وليس مسافة أو علامة تبويب أو سطر جديد). \S+
MultipleSpaces مطابقة حرف واحد أو أكثر يضيف مسافة بيضاء (مسافة أو علامة تبويب أو سطر جديد). \s+
غير فضائي مطابقة حرف واحد لا يضيف مسافة بيضاء. \S
الأرقام الاختيارية مطابقة صفر أو رقم واحد أو أكثر. \d*
رسائل اختيارية مطابقة صفر أو حرف واحد أو أكثر. \p{L}*
اختياريNonSpaces مطابقة صفر أو حرف واحد أو أكثر لا تضيف مسافات بيضاء. \S*
المساحات الاختيارية مطابقة صفر أو حرف واحد أو أكثر تضيف مسافات بيضاء. \s*
مرحلة زمنية يطابق نقطة أو نقطة .. \.
رايت بارين يتطابق مع الأقواس ) اليمنى. \)
فضاء مطابقة حرف يضيف مسافة بيضاء. \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.NumberedSubMatches هو الافتراضي. سيكون إصدار التعبيرات العادية الموضحة هنا متوفرا في Power Apps قريبا، ضمن رمز التبديل "توافق Power Fx V1.0".

فيما يلي بعض العناصر الأساسية للتعبيرات العادية التي تبني التعقيد في تحليل رقم.

ميزة مثال ‏‏الوصف
فئة الأحرف المعرفة مسبقا \d يتطابق هذا التعبير العادي مع رقم واحد، مثل 1. تطابق فئة الأحرف مجموعة من الأحرف وتطابق \d الأرقام 09 القياسية مع وأيضا الأرقام المعرفة في فئة أحرف 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. لا يمكن أن يتطابق التعبير العادي مع السلسلة بأكملها فحسب، بل يمكنه أيضا استخراج أجزاء لاستخدامها في الصيغ، وفي هذه الحالة الجزء قبل e (أو E) والجزء الذي يليه.

تعطي هذه الأمثلة فقط طعما صغيرا لما يمكن أن تفعله التعبيرات العادية. وتستخدم عادة للتحقق من صحة أرقام المعرف وعناوين البريد الإلكتروني وأرقام الهواتف والتواريخ والأوقات، واستخراج المعلومات من جميع أنواع الملفات النصية. تابع رحلتك من خلال قراءة التعبيرات العادية في Power Fx، والتجربة، واستخدام الويب لمعرفة المزيد.

Match خيارات

قم بتعديل سلوك هذه الدالات عن طريق تحديد خيار واحد أو أكثر، والذي تقوم بدمجه باستخدام عامل تشغيل سلسلة السلسلة (&).

تعداد MatchOptions ‏‏الوصف التأثير على تعبير عادي
MatchOptions.Beginsمع يجب أن يتطابق النمط من بداية النص. إضافة ^ إلى بداية التعبير العادي.
MatchOptions.Complete افتراضي ل IsMatch على Power Apps. يتطابق النمط مع سلسلة النص بأكملها، من البداية إلى النهاية. إضافة ^ إلى البداية و$ إلى نهاية التعبير العادي.
MatchOptions.يحتوي الافتراضي ل Match و MatchAllو IsMatch خارج Power Apps. يجب أن يظهر النمط في مكان ما في النص ولكن لا يحتاج إلى بدئه أو إنهائه. لا يقوم بتعديل التعبير العادي.
MatchOptions.DotAll تغيير سلوك عامل التشغيل (نقطة) لمطابقة كافة الأحرف . ، بما في ذلك أحرف الخط الجديد. غير متوفر في Power Apps. لا يقوم بتعديل التعبير العادي. هذا الخيار هو ما يعادل معدل "s" القياسي للتعبيرات العادية.
MatchOptions.Endsمع يجب أن يتطابق النمط مع نهاية سلسلة النص. إضافة $ إلى نهاية التعبير العادي.
MatchOptions.FreeSpacing يتم تجاهل أحرف المسافة البيضاء، بما في ذلك الخطوط الجديدة، في التعبير العادي. يتم تجاهل تعليقات نهاية السطر التي تبدأ ب # . غير متوفر في 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" ) اختبار ما إذا كان إدخال المستخدم يطابق تمامًا السلسلة "مرحبًا بالعالم". صحيح
IsMatch( TextInput1.Text, "Good bye" ) اختبار ما إذا كان إدخال المستخدم يطابق تمامًا السلسلة "إلى اللقاء". خطأ
IsMatch( TextInput1.Text, "hello", Contains ) اختبار ما إذا كان إدخال المستخدم يحتوي على كلمة "مرحبًا" (حساس لحالة الأحرف). خطأ
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) اختبار ما إذا كان إدخال المستخدم يحتوي على كلمة "مرحبًا" (غير حساس لحالة الأحرف). صحيح

أنماط محددة مسبقًا

صيغة ‏‏الوصف نتيجة
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>"،
StartMatch: 11
}
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" استخراج فقط جزء البريد الإلكتروني من معلومات الاتصال. لم يتم العثور على عنوان قانوني (لا توجد علامة @)، لذلك ترجع الوظيفة blank. خلبي
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) استخراج أجزاء اللغة والبرنامج النصي وأجزاء المنطقة من علامة اللغة التي تقوم وظيفة Language بإرجاعها. وتُظهر هذه النتائج الولايات المتحدة؛ راجع وثائق وظيفة Language للاطلاع على مزيد من الأمثلة. يقوم عامل (?: بتجميع الأحرف من دون إنشاء مطابقة فرعية أخرى. {
اللغة: "en"،
script: blank,
المنطقة: "الولايات المتحدة"،
FullMatch: "en-US",
StartMatch:‏ 1
}
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) استخراج الساعات والدقائق والثواني من قيمة مدة ISO 8601. لا تزال الأرقام المستخرجة في سلسلة نصية؛ استخدم وظيفة Value لتحويلها إلى رقم قبل إجراء العمليات الحسابية عليه. {
ساعات: "2"،
دقائق: "1"،
ثانية: "39"،
FullMatch: "PT2H1M39S"،
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",
StartMatch: 32
}
MatchAll( pangram, "the" ) اعثر على كل مطابقات "the" في السلسلة النصية التي يحتوي عليها متغير pangram. الاختبار حساس لحالة الأحرف، لذا تم العثور على المثيل الثاني فقط لـ "the". MatchAll ل pangram.
MatchAll( pangram, "the", IgnoreCase ) اعثر على كل مطابقات "the" في السلسلة النصية التي يحتوي عليها متغير pangram. في هذه الحالة، يكون الاختبار غير حساس لحالة الأحرف، لذا تم العثور على مثيلي الكلمة. MatchAll مع IgnoreCase.
MatchAll( pangram, "\b\wo\w\b" ) البحث عن الكلمات المكونة من ثلاثة أحرف مع وجود "o" في المنتصف. يتم استبعاد "البني" لأنه ليس كلمة مكونة من ثلاثة أحرف، وبالتالي يفشل في مطابقة "\b" (حد الكلمة). MatchAll ل pangram مع b وwo وw وb.
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) مطابقة جميع الشخصيات بين "fox" و"dog". {
بين: "يقفز فوق كسول"،
FullMatch: "ثعلب يقفز فوق الكسول"،
StartMatch: 17
}

للاطلاع على نتائج MatchAll في معرض:

  1. في شاشة فارغة، قم بإدراج عنصر تحكم معرض عمودي فارغ.

  2. قم بتعيين خاصية Items الخاصة بالمعرض إلى MatchAll( pangram أو "\w+" ) أو MatchAll( pangram, MultipleLetters ).

    معرض العناصر.

  3. حدد "إضافة عنصر من علامة التبويب إدراج" في منتصف عنصر تحكم gallery لتحديد قالب المعرض.

  4. أضف عنصر تحكم Label إلى قالب المعرض.

  5. قم بتعيين خاصية Text الخاص بالتسمية إلى ThisItem.FullMatch.

    المعرض مليء بكل كلمة في نص المثال الخاص بنا. لمشاهدة كل الكلمات على شاشة واحدة، قم بتغيير حجم قالب المعرض وعنصر تحكم التسمية.

    خاصية النص.