नोट
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप साइन इन करने या निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
इस पृष्ठ तक पहुंच के लिए प्राधिकरण की आवश्यकता होती है। आप निर्देशिकाएँ बदलने का प्रयास कर सकते हैं।
इस पर लागू होता है: कैनवास ऐप्लिकेशन
Copilot Studio
मॉडल-चालित ऐप्स,
Power Platform, CLI
Dataverse फ़ंक्शंस
, Power Pages
किसी प्रतिमान के आधार पर पाठ स्ट्रिंग के कुछ हिस्सों को मिलान या निकालने के लिए परीक्षण करता है.
वर्णन
फ़ंक्शन परीक्षण करता है IsMatch कि क्या कोई टेक्स्ट स्ट्रिंग एक पैटर्न से मेल खाती है जिसमें सामान्य वर्ण, पूर्वनिर्धारित पैटर्न या एक नियमित अभिव्यक्ति शामिल हो सकती है। Match और फ़ंक्शन MatchAll वही लौटाते हैं जो मिलान किया गया था, जिसमें उप-मिलान भी शामिल है।
उपयोगकर्ता द्वारा पाठ इनपुट नियंत्रण में जो लिखा गया है उसे सत्यापित करने के लिए उपयोग करेंIsMatch. उदाहरण के लिए, पुष्टि करें कि परिणाम आपके डेटा स्रोत में सहेजे जाने से पहले उपयोगकर्ता ने कोई मान्य ईमेल पता दर्ज किया है या नहीं। यदि प्रविष्टि आपके मापदंड से मेल नहीं खाती है, तो अन्य नियंत्रण जोड़ें जो उपयोगकर्ता को प्रविष्टि को ठीक करने के लिए संकेत देते हैं।
किसी पैटर्न से मेल खाने वाली पहली टेक्स्ट स्ट्रिंग को निकालने के लिए और मेल MatchAll खाने वाले सभी टेक्स्ट स्ट्रिंग्स को निकालने के लिए उपयोग करेंMatch। जटिल स्ट्रिंग्स को पार्स करने के लिए उप-मिलान निकालें।
Match पहले मिलान के लिए जानकारी का रिकॉर्ड लौटाता है, और MatchAll पाए गए प्रत्येक मैच के लिए रिकॉर्ड की एक तालिका लौटाता है। रिकॉर्ड या रिकॉर्ड्स में निम्न शामिल होते हैं:
| Column | Type | वर्णन |
|---|---|---|
| नामित उप-मिलान या उप-मिलान | टेक्स्ट | प्रत्येक नामित उपमैच का अपना कॉलम होता है। (?<नाम>... ) नियमित अभिव्यक्ति में। यदि किसी नामित उप-मिलान का नाम पूर्वनिर्धारित स्तंभों में से किसी एक के समान है, तो उप-मिलान को प्राथमिकता दी जाती है, और एक चेतावनी उत्पन्न होती है। इस चेतावनी से बचने के लिए उप-मिलान का नाम बदलें। |
| फुलमैच | टेक्स्ट | वे सभी पाठ स्ट्रिंग, जो मैच हुए. |
| स्टार्टमैच | संख्या | इनपुट पाठ स्ट्रिंग के भीतर मैच की प्रारंभिक स्थिति. स्ट्रिंग का पहला वर्ण 1 दिखाता है. |
| SubMatch, केवल तभी जब MatchOptions.NumberedSubMatches का उपयोग किया जाता है। | पाठ की एकल-स्तंभ तालिका (स्तंभ मान) | क्रमांकित उप-मिलान की तालिका उस क्रम में होती है जिसमें वे नियमित अभिव्यक्ति में दिखाई देते हैं। आम तौर पर, नामित उपमैचों के साथ काम करना आसान होता है और उन्हें प्रोत्साहित किया जाता है। किसी व्यक्तिगत उप-मिलान के साथ कार्य करने के लिए ForAll फ़ंक्शन या अनुक्रमणिका फ़ंक्शन का उपयोग करें. यदि नियमित व्यंजक में कोई उप-मिलान परिभाषित नहीं किया गया है, तो यह तालिका मौजूद होगी लेकिन खाली होगी। |
ये फ़ंक्शन MatchOptions का समर्थन करते हैं. डिफ़ॉल्ट रूप से:
- ये फ़ंक्शन एक केस-संवेदी मैच करते हैं. केस-असंवेदनशील मिलान करने के लिए MatchOptions.IgnoreCase का उपयोग करें.
- IsMatch संपूर्ण टेक्स्ट स्ट्रिंग (पूर्ण मैचऑप्शन) से मेल खाता है, जबकि Match और MatchAll टेक्स्ट स्ट्रिंग में कहीं भी एक मैच की खोज करता है (Matches Option शामिल है)। अपने परिदृश्य के लिए उपयुक्त Complete, Contains, BeginsWith या EndsWith का उपयोग करें.
IsMatch यदि पाठ स्ट्रिंग पैटर्न से मेल खाती है तो सही लौटाता है या यदि यह नहीं करता है तो गलत लौटाता है। Match रिक्त लौटाता है यदि कोई मिलान नहीं मिलता है जिसे IsBlank फ़ंक्शन के साथ परीक्षण किया जा सकता है। MatchAll यदि कोई मिलान नहीं मिलता है जिसे IsEmpty फ़ंक्शन के साथ परीक्षण किया जा सकता है, तो एक रिक्त तालिका देता है.
यदि आप टेक्स्ट स्ट्रिंग को विभाजित करने के लिए उपयोग करते MatchAll हैं, तो स्प्लिट फ़ंक्शन का उपयोग करने पर विचार करें, जो सरल और तेज़ है।
पैटर्न
इन फ़ंक्शन का उपयोग करने की विशेषता, मैच किए जाने वाले पैटर्न को वर्णित करने में है. आप पाठ स्ट्रिंग में पैटर्न का वर्णन, निम्न के संयोजन के रूप में करते हैं:
- साधारण वर्ण, जैसे "abc" या "123".
- पूर्वनिर्धारित पैटर्न, जैसे पत्र, MultipleDigits या ईमेल. (एनम Match इन पैटर्न को परिभाषित करता है।
- नियमित-व्यंजक कोड, जैसे "\d+\s+\d+" या "[a-z]+".
स्ट्रिंग-concatenation ऑपरेटर का उपयोग करके इन तत्वों को संयोजित करें &। उदाहरण के लिए, "abc" & अंक & "\s+" एक वैध पैटर्न है जो "a", "b" और "c" वर्णों से मेल खाता है, जिसके बाद 0 से 9 तक का एक अंक और उसके बाद कम से कम एक रिक्त स्थान वर्ण होता है।
साधारण वर्ण
सबसे सरल पैटर्न सामान्य वर्णों का एक क्रम है जो बिल्कुल मेल खाता है।
उदाहरण के लिए, जब फ़ंक्शन के साथ उपयोग किया जाता है IsMatch , तो स्ट्रिंग " हैलो" पैटर्न "हैलो" से बिल्कुल मेल खाती है। इससे अधिक नहीं और इससे कम नहीं. स्ट्रिंग "hello!" अंत में विस्मयादिबोधक बिंदु के कारण पैटर्न से मेल नहीं खाती है और क्योंकि मामला "एच" अक्षर के लिए गलत है। (इस व्यवहार को संशोधित करने के तरीकों के लिए विकल्प देखेंMatch.)
पैटर्न भाषा में, वर्ण . ? * + ( ) [ ] ^ $ | \ विशेष उद्देश्यों के लिए आरक्षित होते हैं। इन वर्णों का उपयोग करने के लिए, या तो वर्ण को ( \ बैकस्लैश) के साथ उपसर्ग करें ताकि यह इंगित किया जा सके कि वर्ण को शाब्दिक रूप से लिया जाना चाहिए, या पूर्वनिर्धारित पैटर्न में से एक का उपयोग करें। उदाहरण के लिए, आप प्रश्न चिह्न से पहले बैकस्लैश के साथ पैटर्न "Hello?" का उपयोग करके स्ट्रिंग "Hello\\?" का मिलान कर सकते हैं।
पूर्वनिर्धारित पैटर्न
पूर्वनिर्धारित पैटर्न वर्णों के एक सेट या कई वर्णों के अनुक्रम से मैच करने का एक सरल तरीका प्रदान करते हैं. स्ट्रिंग-संयोजन ऑपरेटर का उपयोग करें और अपने स्वयं के पाठ स्ट्रिंग्स को एनम के सदस्यों Match के साथ संयोजित करने के लिए:
| Match एनम | वर्णन | नियमित व्यंजक |
|---|---|---|
| कोई | किसी भी वर्ण से मैच करता है. | . |
| अल्पविराम | अल्पविराम ,से मेल खाता है। |
, |
| अंक | एक एकल अंक ("0" से लेकर "9" तक) से मैच करता है. | \d |
| ईमेल | उस ईमेल पते से मैच करता है, जिसमें एक "at" चिह्न ("@") है और जिसके डोमेन नाम में डॉट (".") है | नोट देखें |
| हैफ़ेन | हायफ़न से मैच करता है. |
-
नोट देखें |
| बायाँपैरेन | बाएं कोष्ठक (से मेल खाता है। |
\( |
| पत्र | अक्षर से मैच करता है. | \p{L} |
| मल्टीपलडिजिट्स | एक या अधिक अंकों से मैच करता है. | \d+ |
| एकाधिक पत्र | एक या अधिक अक्षरों से मैच करता है. | \p{L}+ |
| मल्टीपल नॉनस्पेस | ऐसे एक या अधिक वर्णों से मैच करता है, जो श्वेत-रिक्ति (रिक्ति, टैब या नई पंक्ति नहीं) नहीं जोड़ते. | \S+ |
| मल्टीपलस्पेस | ऐसे एक या अधिक वर्णों से मैच करता है, जो श्वेत-रिक्ति (रिक्ति, टैब या नई पंक्ति) जोड़ते हैं. | \s+ |
| नॉनस्पेस | ऐसे एकल वर्ण से मैच करता है, जो श्वेत-रिक्ति नहीं जोड़ता. | \S |
| वैकल्पिक अंक | शून्य, एक या अधिक अंकों से मैच करता है. | \d* |
| वैकल्पिकपत्र | शून्य, एक या अधिक अक्षरों से मैच करता है. | \p{L}* |
| वैकल्पिकगैरस्पेस | ऐसे शून्य, एक या अधिक वर्णों से मैच करता है, जो श्वेत-रिक्ति नहीं जोड़ते. | \S* |
| वैकल्पिक स्थान | ऐसे शून्य, एक या अधिक वर्णों से मैच करता है, जो श्वेत-रिक्ति जोड़ते हैं. | \s* |
| अवधि | एक अवधि या बिंदु .से मेल खाता है। |
\. |
| राइटपैरेन | एक दायां कोष्ठक )से मेल खाता है। |
\) |
| अंतरिक्ष | ऐसे वर्ण से मैच करता है, जो श्वेत-रिक्ति जोड़ता है. | \s |
| टैब | एक टैब वर्ण से मेल खाता है. | \t |
उदाहरण के लिए, पैटर्न "ए" और मल्टीपल डिजिट अक्षर "ए" से मेल खाता है और उसके बाद एक या अधिक अंक होते हैं।
Power Apps के लिए Matchएक भिन्न परिभाषा का उपयोग करता है. EMail और .Match हाइफ़न। अपने होस्ट द्वारा उपयोग की जाने वाली नियमित अभिव्यक्ति को देखने के लिए मूल्यांकन करें Text( Match.Email ) ।
नियमित व्यंजक
ये कार्य जिस पैटर्न का उपयोग करते हैं उसे नियमित अभिव्यक्ति कहा जाता है। Power Fx की नियमित अभिव्यक्तियों की विशिष्ट बोली Power Fx में नियमित अभिव्यक्तियों में विस्तृत है।
नियमित अभिव्यक्तियाँ शक्तिशाली होती हैं और विभिन्न प्रकार के उद्देश्यों की पूर्ति करती हैं। वे विराम चिह्नों के यादृच्छिक अनुक्रम की तरह भी दिख सकते हैं। यह लेख नियमित अभिव्यक्तियों के सभी पहलुओं का वर्णन नहीं करता है, लेकिन ढेर सारी जानकारी, ट्यूटोरियल और उपकरण ऑनलाइन उपलब्ध हैं।
नियमित अभिव्यक्तियों का एक लंबा इतिहास होता है और ये कई प्रोग्रामिंग भाषाओं में उपलब्ध होते हैं। प्रत्येक प्रोग्रामिंग भाषा की नियमित अभिव्यक्तियों की अपनी बोली होती है, और कुछ मानक होते हैं। हम यह सुनिश्चित करने का प्रयास करते हैं कि समान नियमित अभिव्यक्ति सभी Power Fx कार्यान्वयनों में समान परिणाम दे. संगतता को पूरा करना आसान नहीं है क्योंकि पावर एफएक्स जावास्क्रिप्ट और .नेट के शीर्ष पर चलता है जिसमें महत्वपूर्ण अंतर हैं। विभिन्न प्लेटफ़ॉर्म पर चलने को समायोजित करने के लिए, Power Fx नियमित अभिव्यक्तियाँ उन सुविधाओं के एक सबसेट तक सीमित होती हैं जो पूरे उद्योग में व्यापक रूप से समर्थित हैं.
परिणामस्वरूप, अन्य परिवेशों में काम कर सकते हैं जो कुछ नियमित व्यंजकों को अवरुद्ध किया जा सकता है या Power Fx में बदलाव की आवश्यकता हो सकती है। असमर्थित सुविधाओं का सामना करने के रूप में संलेखन समय त्रुटियों की रिपोर्ट की जाती है। यह एक कारण है कि नियमित अभिव्यक्ति और विकल्प एक संलेखन समय स्थिर होना चाहिए और गतिशील नहीं होना चाहिए (उदाहरण के लिए, एक चर में प्रदान किया गया)।
नोट
Power Apps Power Fx नियमित व्यंजकों के पुराने संस्करण का उपयोग करता है, जिसमें कम सीमाएँ होती हैं, लेकिन सुविधाएँ भी कम होती हैं. MatchOptions.DotAll और MatchOptions.FreeSpacing उपलब्ध नहीं हैं और की परिभाषाएँMatch . ईमेल औरMatch. हाइफ़न अलग हैं। यूनिकोड सरोगेट जोड़े को एक वर्ण के रूप में नहीं माना जाता है। MatchOptions.NumberedSubMatches डिफ़ॉल्ट है। यहाँ वर्णित नियमित अभिव्यक्तियों का संस्करण "Power Fx V1.0 संगतता" स्विच के अंतर्गत जल्द ही Power Apps में उपलब्ध होगा.
यहां नियमित अभिव्यक्तियों के कुछ बुनियादी तत्व दिए गए हैं जो किसी संख्या को पार्स करने में जटिलता का निर्माण करते हैं।
| लक्षण | उदाहरण | वर्णन |
|---|---|---|
| प्रीडफाइंड कैरेक्टर क्लास | \d |
यह नियमित अभिव्यक्ति एक ही संख्या से मेल खाती है, जैसे .1 एक वर्ण वर्ग वर्णों के एक सेट से मेल खाता है और मानक \d अंकों से मेल 0 खाता है 9 और यूनिकोड वर्ण श्रेणी "एनडी" में परिभाषित अंकों से भी मेल खाता है। अक्षरों और संख्याओं के साथ और रिक्त स्थान के लिए \w चरित्र वर्ग हैं जिनमें नई पंक्तियाँ शामिल हैं \s। उलटा वर्ण वर्ग भी हैं जो बड़े अक्षरों में लिखे गए हैं: \D वह सब कुछ मेल खाता है जो नहीं \d करता है। |
| एक या अधिक | \d+ |
यह नियमित अभिव्यक्ति एक या अधिक संख्याओं से मेल खाती है, जैसे .123 एक + तत्व के बाद अंतिम तत्व का "एक या अधिक" कहता है। |
| शून्य या एक | \+?\d |
यह नियमित अभिव्यक्ति एक वैकल्पिक + संकेत से मेल खाती है जिसके बाद एक अयस्क अधिक संख्याएं, जैसे कि +123 बस 123. एक ? तत्व के बाद कहता है "यह वैकल्पिक है, यह शून्य या एक बार हो सकता है"।
+ इसके सामने एक बैकस्लैश है जो इसे "एक या अधिक" उपयोग के बजाय शाब्दिक चरित्र के रूप में अलग करता है। |
| समूहीकरण और प्रत्यावर्तन | (-|\+)?\d+ |
यह नियमित अभिव्यक्ति या तो एक संकेत + या a -से मेल खाती है, वैकल्पिक रूप से, और फिर संख्याओं की एक श्रृंखला, जैसे , -123, +123और 123. हम यहां दो अवधारणाओं को पेश कर रहे हैं जो अक्सर एक साथ उपयोग की जाती हैं। सबसे पहले, हमारे पास कोष्ठक है कि समूह तत्वों के एक साथ सेट के रूप में, कार्य करने के ? लिए। दूसरा, हमारे पास है | जो कहता है "या तो यह या वह"। |
| कस्टम वर्ण वर्ग | (-|\+)?\d+[eE][\-\+]?\d+ |
यह नियमित अभिव्यक्ति दो वर्ण वर्गों के साथ मिश्रण में एक घातांक जोड़ती है, मिलान .+123e-12 एक चरित्र वर्ग एक अधिक कॉम्पैक्ट रूप में "इन चीजों में से एक मैच" प्रदान करने वाले विकल्प की तरह | है। के साथ +के रूप में, - नियमित अभिव्यक्ति चरित्र वर्गों में विशेष अर्थ है इसलिए हमें इससे बचने की आवश्यकता है। |
| शून्य या अधिक | (-|\+)?\d+\.?\d*[eE][\-\+]?\d+ |
यह नियमित अभिव्यक्ति संख्या के पूर्णांक भाग के बाद दशमलव जोड़ती है, जैसे या -123.456e-89 .-123.E+32
\d दशमलव बिंदु के बाद एक परिमाणक होता है * जो दशमलव अंकों के बाद "शून्य या अधिक बार" कहता है. |
| समूहों पर कब्जा करें | (?<number>(-|\+)?\d+\.?\d*)[eE](?<exponent>[\-\+]?\d+) |
अंत में, हम और के numberलिए exponent कैप्चर समूह जोड़ते हैं। न केवल एक नियमित अभिव्यक्ति पूरे स्ट्रिंग से मेल खा सकती है, यह आपके सूत्रों में उपयोग के लिए भागों को भी निकाल सकती है, इस मामले में (याe) से पहले का E हिस्सा और बाद का हिस्सा। |
ये उदाहरण केवल एक छोटा सा स्वाद देते हैं कि नियमित भाव क्या कर सकते हैं। इनका उपयोग आमतौर पर आईडी नंबर, ईमेल पते, फोन नंबर, दिनांक और समय को मान्य करने और सभी प्रकार की टेक्स्ट फ़ाइलों से जानकारी निकालने के लिए किया जाता है। Power Fx में नियमित अभिव्यक्तियाँ पढ़कर अपनी यात्रा जारी रखें, प्रयोग करें और अधिक जानने के लिए वेब का उपयोग करें.
Match विकल्प
एक या अधिक विकल्पों को निर्दिष्ट करके इन कार्यों के व्यवहार को संशोधित करें, जिसे आप स्ट्रिंग- संयोजन ऑपरेटर (&) का उपयोग करके संयोजित करते हैं।
| MatchOptions इनम | वर्णन | नियमित व्यंजक पर प्रभाव. |
|---|---|---|
| मैचऑप्शन.BeginsWith | पैटर्न, पाठ के शुरू से मैच करना चाहिए. | नियमित व्यंजक के शुरू में ^ जोड़ता है. |
| मैचऑप्शन.पूर्ण | Power Apps पर के लिए IsMatch डिफ़ॉल्ट. पैटर्न शुरू से अंत तक पाठ की पूरी स्ट्रिंग से मेल खाता है। | नियमित व्यंजक के शुरू में ^ और अंत में $ जोड़ता है. |
| मैचऑप्शन.कंटेन्स | Power Apps के लिए और Match , MatchAllऔर उसके IsMatch बाहर डिफ़ॉल्ट. पैटर्न, पाठ में कहीं दिखाई देना चाहिए, लेकिन पाठ के शुरू या अंत में नहीं. | नियमित व्यंजक को संशोधित नहीं करता. |
| MatchOptions.DotAll | (डॉट) ऑपरेटर के व्यवहार को . नए अक्षरों सहित सभी वर्णों से मिलान करने के लिए परिवर्तित करता है। Power Apps में उपलब्ध नहीं है. |
नियमित व्यंजक को संशोधित नहीं करता. यह विकल्प नियमित अभिव्यक्तियों के लिए मानक "एस" संशोधक के बराबर है। |
| मैचऑप्शन.एंड्सविद | पैटर्न, पाठ के स्ट्रिंग के अंत से मैच करना चाहिए. | नियमित व्यंजक के अंत में $ जोड़ता है. |
| MatchOptions.FreeSpacing | व्हाइटस्पेस वर्ण, जिसमें नई पंक्तियाँ भी शामिल हैं, को नियमित अभिव्यक्ति में अनदेखा कर दिया जाता है। एक से # शुरू होने वाली एंड-ऑफ-लाइन टिप्पणियों को अनदेखा कर दिया जाता है। Power Apps में उपलब्ध नहीं है. |
केवल नियमित अभिव्यक्ति सिंटैक्स को बदलने का तरीका बदलता है। यह विकल्प नियमित अभिव्यक्तियों के लिए मानक "x" संशोधक के बराबर है। |
| मैचऑप्शन.इग्नोरकेस | अपरकेस और लोअरकेस अक्षरों को एक-समान मानता है. डिफ़ॉल्ट रूप से, मैचिंग केस-संवेदी होती है. | नियमित व्यंजक को संशोधित नहीं करता. यह विकल्प नियमित व्यंजक के लिए मानक "i" संशोधक के समतुल्य है. |
| मैचऑप्शन.मल्टीलाइन | के व्यवहार ^ को बदलता है और $ aline के अंत में मिलान करता है। |
नियमित व्यंजक को संशोधित नहीं करता. यह विकल्प नियमित व्यंजक के लिए मानक "m" संशोधक के समतुल्य है. |
| MatchOptions.NumberedSubMatches | नामित कैप्चर को प्राथमिकता दी जाती है क्योंकि उन्हें समझना और बनाए रखना आसान होता है। प्रदर्शन में भी सुधार होता है क्योंकि अनावश्यक कैप्चर को बरकरार नहीं रखा जाता है। लेकिन पुराने नियमित अभिव्यक्तियों के लिए, कोष्ठक के प्रत्येक सेट को एक क्रमांकित कैप्चर के रूप में मानता है जो परिणाम में सबमैच तालिका के साथ शामिल होता है। Power Apps में डिफ़ॉल्ट. | नियमित व्यंजक को संशोधित नहीं करता. नामित कैप्चर अक्षम हैं और \1 शैली वापस संदर्भ सक्षम हैं। |
उपयोग करना MatchAll नियमित अभिव्यक्तियों के लिए मानक "जी" संशोधक का उपयोग करने के समान है।
सिंटैक्स
IsMatch(पाठ ,पैटर्न [, विकल्प] )
- टेक्स्ट – आवश्यक. परीक्षण किया जाने वाला पाठ स्ट्रिंग.
- पैटर्न – आवश्यक. पाठ स्ट्रिंग के रूप में परीक्षण किया जाने वाला पैटर्न. पूर्वनिर्धारित पैटर्न को संयोजित करें जो एनम परिभाषित Match करता है या एक नियमित अभिव्यक्ति प्रदान करता है। पैटर्न चर, डेटा स्रोतों या अन्य गतिशील संदर्भों के बिना एक स्थिर सूत्र होना चाहिए जो ऐप के चलने के साथ बदलते हैं। ध्यान दें, कि सूत्र को "केMatch रूप में व्यक्त किया जाना चाहिए। पूर्वनिर्धारितपैटर्न" उदाहरण के लिए। 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, फुलमैच: "<bob.jones@contoso.com>", स्टार्टमैच: 11 } |
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" |
संपर्क जानकारी के केवल ईमेल भाग को निकालता है. कोई वैध पता नहीं मिला (कोई @ चिह्न नहीं है), इसलिए फ़ंक्शन blank दिखाता है. | खाली |
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) |
भाषा टैग के उस भाषा, स्क्रिप्ट और क्षेत्र भाग को निकालता है, जो Language फ़ंक्शन दिखाता है. ये परिणाम संयुक्त राज्य अमेरिका को दर्शाते हैं; और अधिक उदाहरण के लिए Language फ़ंक्शन दस्तावेज़ देखें. (?: ऑपरेटर बिना कोई सब-मैच बनाए वर्णों को समूहीकृत करता है. | { भाषा: "एन", script: blank, क्षेत्र: "यूएस", फुलमैच: "en-US", स्टार्टमैच: 1 } |
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) |
ISO 8601 अवधि मान से घंटे, मिनट और सेकंड निकालता है. निकाली गई संख्याएँ अभी भी पाठ स्ट्रिंग में हैं; इस पर गणितीय ऑपरेशन करने से पहले, इसे संख्या में रूपांतरित करने के लिए Value फ़ंक्शन का उपयोग करें. | { घंटे: "2", मिनट: "1", सेकंड: "39", फुलमैच: "PT2H1M39S", स्टार्टमैच: 1 } |
आइए उस आखिरी उदाहरण को देखते हैं. यदि आप समय फ़ंक्शन का उपयोग करके इस स्ट्रिंग को दिनांक/समय मान में बदलना चाहते हैं, तो आपको नामित उप-मैचों को व्यक्तिगत रूप से पास करना होगा। ऐसा करने के लिए, रिटर्न देने वाले रिकॉर्ड 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। | { फुलमैच: "द", स्टार्टमैच: 32 } |
MatchAll( pangram, "the" ) |
पाठ स्ट्रिंग में "the" के वे सभी मैच खोजें, जो pangram चर में शामिल हैं. परीक्षण केस-संवेदी है, इसलिए "the" की केवल दूसरी आवृत्ति मिली. |
|
MatchAll( pangram, "the", IgnoreCase ) |
पाठ स्ट्रिंग में "the" के वे सभी मैच खोजें, जो pangram चर में शामिल हैं. इस मामले में, परीक्षण केस असंवेदी है, इसलिए शब्द की दोनों आवृत्तियाँ मिली. |
|
MatchAll( pangram, "\b\wo\w\b" ) |
वे सभी तीन-अक्षरों के शब्द खोजें, जिनके मध्य में "o" है. "ब्राउन" को बाहर रखा गया है क्योंकि यह तीन-अक्षर का शब्द नहीं है और इसलिए, "\b" (शब्द सीमा) से मेल खाने में विफल रहता है। |
|
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) |
"fox" और "dog" के बीच सभी वर्णों से मैच करता है. | { बीच: "आलसी पर कूदता है", फुलमैच: "लोमड़ी आलसी कुत्ते पर कूदती है", स्टार्टमैच: 17 } |
गैलरी में परिणाम MatchAll देखने के लिए:
एक खाली स्क्रीन में, एक रिक्त अनुलंब गैलरी नियंत्रण सम्मिलित करें।
गैलरी की आइटम प्रॉपर्टी को (pangram, "\w+" ) या (pangram, MultipleLetter) पर सेटMatchAll करें।MatchAll
गैलरी के टेम्पलेट का चयन करने के लिए, गैलरी नियंत्रण के मध्य में "सम्मिलित करें टैब से एक आइटम जोड़ें" चुनें.
गैलरी के टेम्पलेट में लेबल नियंत्रण जोड़ें.
लेबल के पाठ गुण को ThisItem.FullMatch पर सेट करें.
हमारे उदाहरण पाठ में गैलरी प्रत्येक शब्द से भरी हुई है. सभी शब्दों को एक स्क्रीन पर देखने के लिए, गैलरी के टेम्पलेट और लेबल नियंत्रण का आकार बदलें।