IsMatch, Matchжәне MatchAll функциялары

Келесілерге қолданылады: Canvas бағдарламалары Copilot Studio Модельге негізделген бағдарламалар Power Platform CLI Dataverse функциялары Power Pages

Сәйкестікті тексереді немесе үлгіге негізделген мәтін жолының бөліктерін шығарады.

Сипаттама

IsMatch Функция мәтін жолының кәдімгі таңбалардан, алдын ала анықталған үлгілерден немесе үлгіден тұратын үлгіге сәйкес келетінін тексереді. Match MatchAll және функциялары сәйкестендірілген нәрсені қайтарады, соның ішінде қосалқы сәйкестіктер.

Пайдаланушының Мәтінді енгізу басқару элементінде не тергенін тексеру үшін пайдаланыңызIsMatch. Мысалы, нәтиже деректер көзіне сақталмас бұрын пайдаланушының жарамды электрондық пошта мекенжайын енгізгенін тексеріңіз. Егер жазба шарттарыңызға сәйкес келмесе, пайдаланушыдан жазбаны түзетуді сұрайтын басқа басқару элементтерін қосыңыз.

Үлгіге сәйкес келетін бірінші мәтін жолын шығару және MatchAll сәйкес келетін барлық мәтін жолдарын шығару үшін пайдаланыңызMatch. Күрделі жолдарды талдау үшін ішкі сәйкестіктерді шығару.

Match Табылған бірінші сәйкестік үшін ақпарат жазбасын береді және MatchAll табылған әрбір сәйкестік үшін жазбалар кестесін қайтарады. Жазба немесе жазбалар мыналарды қамтиды:

Column Түр Сипаттама
аталған қосалқы сәйкестік немесе қосалқы сәйкестіктер Мәтін Әрбір аталған қосалқы сәйкестіктің өз бағаны бар. <(?Ð> Ð�... ) Тұрақты тіркес түрінде. Егер аталған ішкі сәйкестік алдын-ала анықталған бағандардың бірімен бірдей атауға ие болса, ішкі сәйкестік басымдыққа ие болады және ескерту жасалады. Бұл ескертуді болдырмау үшін қосалқы сәйкестіктің атын өзгертіңіз.
Толық сәйкестік Мәтін Сәйкес болған бүкіл мәтін жолы.
StartMatch Нөмірі Мәтінді енгізу жолы ішіндегі сәйкестіктің бастапқы орны. Жолдың бірінші таңбасы 1 мәнін қайтарады.
MatchOptions.NumberedSubMatches параметрі пайдаланылса ғана. Мәтіннің бір бағандық кестесі (Value бағаны) Нөмірленген қосалқы кесте тұрақты өрнекте пайда болатын ретпен сәйкес келеді. Жалпы алғанда, аталған қосалқы сәйкестіктермен жұмыс істеу оңайырақ және ынталандырылады. Жеке ішкі сәйкестікпен жұмыс істеу үшін ForAll функциясын немесе Индекс функциясын пайдаланыңыз. Егер үлгі өрнекте қосалқы сәйкестіктер анықталмаса, бұл кесте бос болады.

Бұл функциялар MatchOptions қолдайды. Әдепкі бойынша:

  • Бұл функциялар регистрді ескеретін сәйкестікті анықтауды орындайды. Регистрді ескермейтін сәйкестіктерді орындау үшін MatchOptions.IgnoreCase пайдаланыңыз.
  • IsMatch бүкіл мәтін жолына сәйкес келеді (Complete MatchOption), ал MatchMatchAll мәтін жолының кез келген жерінде сәйкестікті іздеңіз (Contains MatchOption). Complete, Contains, BeginsWith немесе EndsWith сценарий үшін тиіс кезде пайдаланыңыз.

IsMatch Мәтін жолы үлгіге сәйкес келсе , true немесе сәйкес келмесе false мәнін береді. Match IsBlank функциясымен тексеруге болатын сәйкестік табылмаса, бос мәнді қайтарады. MatchAll IsEmpty функциясымен тексеруге болатын сәйкестік табылмаса, бос кестені қайтарады.

Егер мәтін жолын бөлу үшін пайдалансаңыз MatchAll , қарапайым және жылдам Бөлу функциясын пайдалануды қарастырыңыз.

Үлгілер

Бұл функцияларды пайдаланудың кілті — сәйкестігі анықталатын өрнекті сипаттау. Мәтін жолында үлгіні мыналардың тіркесімі түрінде сипаттауға болады:

  • Кәдімгі таңбалар, мысалы, "abc" немесе "123".
  • Letter, MultipleDigits немесе Email сияқты алдын ала анықталған үлгілер. (Мәтін мазмұны осы сөздерді анықтайды.)Match
  • "\d+\s+\d+" немесе "[a-z]+" сияқты тұрақты өрнек кодтары.

Осы элементтерді string-concatenation operator & арқылы біріктіріңіз. Мысалы, "abc" & Сан & "\s+" бұл "a", "b" және "c" таңбаларына сәйкес келетін жарамды үлгі, одан кейін 0-ден 9-ға дейінгі сан, одан кейін кемінде бір бос орын таңбасы бар.

Кәдімгі таңбалар

Ең қарапайым үлгі - бұл дәл сәйкес келетін қарапайым таңбалардың тізбегі.

Мысалы, IsMatch "Сәлеметсіз бе" әрпі " Hello " әрпімен дәл сәйкес келеді. Көбірек емес және азырақ емес. Жол "hello!" үлгіге сәйкес келмейді, өйткені соңында дауыс белгісі бар және «h» әрпі үшін регистр дұрыс емес. (Бұл мінез-құлықты өзгерту жолдарын қараңызMatch.)

Мәтін мазмұнында кейіпкерлер . ? * + ( ) [ ] ^ $ | \ арнайы мақсаттарға арналған. Осы таңбаларды пайдалану үшін таңбаны сөзбе-сөз қабылдау керек екенін көрсету үшін таңбаны (кері қиғаш сызық) префиксімен \ қойыңыз немесе алдын ала анықталған үлгілердің бірін пайдаланыңыз. Мысалы, сұрақ белгісінің алдында кері қиғаш сызықпен үлгіні "Hello?" пайдалану арқылы жолды "Hello\\?" сәйкестендіруге болады.

Алдын ала анықталған үлгілер

Алдын ала анықталған үлгілер таңбалар жиынының немесе бірнеше таңба ретінің біреуінің сәйкестігін анықтаудың қарапайым жолын қамтамасыз етеді. Өз мәтін жолдарын enum мүшелерімен Match біріктіру үшін & жолды біріктіру операторын пайдаланыңыз:

Match Enum Сипаттама Тұрақты өрнек
Кез келген Кез келген таңба сәйкестігін анықтайды. .
Үтір Үтір , сәйкес келеді. ,
Сан Бір цифрдың ("0" - "9" аралығында) сәйкестігін анықтайды. \d
Электрондық пошта "@" таңбасын ("@") қамтитын электрондық пошта мекенжайы және нүктені (".") қамтитын домен атауы сәйкестігін анықтайды Ескертуді қараңыз
Дефис Сызықша сәйкестігін анықтайды. - Ескертуді қараңыз
LeftParen Сол жақ жақшаға ( сәйкес келеді. \(
Хат Әріп сәйкестігін анықтайды. \p{L}
MultipleDigits Бір немесе бірнеше цифр сәйкестігін анықтайды. \d+
Көп әріптер Бір немесе бірнеше әріп сәйкестігін анықтайды. \p{L}+
MultipleNonSpaces Бос орынды (жолдағы бос орын, tab немесе жаңа жол емес) қоспайтын бір немесе бірнеше таңба сәйкестігін анықтайды. \S+
MultipleSpaces Бос орынды (жолдағы бос орын, tab немесе жаңа жол) қосатын бір немесе бірнеше таңба сәйкестігін анықтайды. \s+
NonSpace Бос орынды қоспайтын бір таңба сәйкестігін анықтайды. \S
ҚосымшаСандар Нөл, бір немесе бірнеше цифр сәйкестігін анықтайды. \d*
Қосымша әріптер Нөл, бір немесе бірнеше әріп сәйкестігін анықтайды. \p{L}*
OptionalNonSpaces Бос орынды (жолдағы бос орын, tab немесе жаңа жол) қоспайтын нөл, бір немесе бірнеше таңба сәйкестігін анықтайды. \S*
OptionalSpaces Бос орынды қосатын нөл, бір немесе бірнеше таңба сәйкестігін анықтайды. \s*
Кезең Нүктеге немесе нүктеге .сәйкес келеді. \.
Оң жақ Оң жақ жақшаға ) сәйкес келеді. \)
Ғарыш Бос орынды қосатын таңба сәйкестігін анықтайды. \s
қойындысы Қойынша таңбасына сәйкес келеді. \t

Мысалы , "A" және MultipleDigits үлгісі "A" әрпімен сәйкес келеді, содан кейін бір немесе бірнеше цифрлар бар.

Power Apps функциясы Match. EMail және 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. Таңбалар класы таңбалар жиынтығына сәйкес келеді және \d стандартты цифрларға 09, сондай-ақ Юникодтың «Nd» таңба санатында анықталған сандарға сәйкес келеді. Әріптер мен сандарға \w арналған таңбалар сыныптары бар және бос орындар, соның ішінде жаңа жолдар \s. Сондай-ақ, бас әріппен жазылған кері таңба сыныптары бар: \D сәйкес келмейтін барлық \d нәрсеге сәйкес келеді.
Бір немесе бірнеше \d+ Бұл үлгі өрнек бір немесе бірнеше сандарға сәйкес келеді, мысалы 123. A + элементінен кейін соңғы элементтің "бір немесе бірнешеуі" дейді.
Нөл немесе бір \+?\d Бұл үлгі өрнек қосымша + белгіге сәйкес келеді, содан кейін тағы бір сан, +123123мысалы, жай ғана . Элементтен кейін A ? «бұл міндетті емес, ол нөл немесе бір рет болуы мүмкін» дейді. + Оның алдында оны «бір немесе бірнеше» қолданудан гөрі сөзбе-сөз таңба ретінде ажырату үшін кері қиғаш сызық бар.
Топтау және ауыстыру (-|\+)?\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+) Соңында, біз үшін numberexponentжәне . Үлгі өрнек бүкіл жолмен сәйкес қана қоймай, сонымен қатар формулаларыңызда пайдалану үшін бөліктерді шығара алады, бұл жағдайда (немесе e) алдындағы E бөлік және одан кейінгі бөлік.

Бұл мысалдар тұрақты өрнектердің не істей алатыны туралы аз ғана дәм береді. Олар әдетте жеке куәлік нөмірлерін, электрондық пошта мекенжайларын, телефон нөмірлерін, күндер мен уақытты тексеру үшін және мәтіндік файлдардың барлық түрлерінен ақпарат алу үшін қолданылады. Power Fx бағдарламасындағы үлгі өрнектерді оқу, тәжірибе жасау және қосымша ақпарат алу үшін вебті пайдалану арқылы саяхатыңызды жалғастырыңыз.

Match Р�

Осы функциялардың әрекетін жол- біріктіру (&) операторы арқылы біріктіретін бір немесе бірнеше параметрлерді көрсету арқылы өзгертіңіз.

MatchOptions санамалау Сипаттама Тұрақты өрнекке әсер
MatchOptions.BeginsWith Үлгі мәтіннің басынан бастап сәйкес болуы керек. Тұрақты өрнектің басына ^ қосады.
MatchOptions.Complete Power Apps бағдарламаларында IsMatch әдепкі бойынша. Мәтін басынан аяғына дейін мәтіннің бүкіл жолына сәйкес келеді. Тұрақты өрнектің басына ^ және соңына $ қосады.
MatchOptions. Құрамында Әдепкі Match және MatchAllIsMatch , және Power Apps бағдарламасынан тыс. Үлгі мәтіннің бір жерінде болуы керек, бірақ оны бастауы немесе аяқтауы қажет емес. Тұрақты өрнекті өзгертпейді.
Сәйкестік параметрлері.DotAll (нүкте) операторының әрекетін . барлық таңбаларға, соның ішінде жаңа жол таңбаларына сәйкестендіру үшін өзгертеді. Power Apps бағдарламасында қол жетімді емес. Тұрақты өрнекті өзгертпейді. Бұл параметр тұрақты өрнектер үшін стандартты "s" түрлендіргішіне тең.
MatchOptions.EndsWith Үлгі мәтін жолының соңына сәйкес болуы керек. Тұрақты өрнектің соңына $ қосады.
MatchOptions.FreeSpacing Бос орын таңбалары, соның ішінде жаңа жолдар тұрақты өрнекте еленбейді. "А # " әрпінен басталатын сөздердің соңы ескерілмейді. Power Apps бағдарламасында қол жетімді емес. Тек тұрақты өрнектің синтаксисін өзгертеді. Бұл параметр үлгі өрнектер үшін стандартты "x" модификаторына тең.
MatchOptions.IgnoreCase Жоғарғы регистрдегі және төменгі регистрдегі әріптер бірдей деп есептеледі. Әдепкі бойынша, сәйкестікті табуда регистр ескеріледі. Тұрақты өрнекті өзгертпейді. Бұл опция — тұрақты өрнектерге арналған стандартты «i» модификаторының баламасы.
MatchOptions.Multiline ^ А.Байтұрсыновтың сөйлем құрап, $ сөйлем құрап сөйлем құрап жазады. Тұрақты өрнекті өзгертпейді. Бұл опция — тұрақты өрнектерге арналған стандартты «m» модификаторының баламасы.
Сәйкестік параметрлері.НөмірленгенҚосалқы сәйкестіктер Аталған түсірілімдер артықшылыққа ие, өйткені оларды түсіну және сақтау оңайырақ. Сондай-ақ, қажетсіз заттар сақталмағандықтан өнімділік жақсарады. Бірақ ескі үлгі өрнектер үшін жақшалардың әр жиынтығы нәтижедегі SubMatches кестесіне қосылған нөмірленген түсіру ретінде қарастырады. Power Apps бағдарламаларындағы әдепкі. Тұрақты өрнекті өзгертпейді. Аталған түсірілімдер ажыратылады және \1 стильдегі артқы сілтемелер рұқсат етіледі.

Пайдалану MatchAll - тұрақты өрнектер үшін стандартты "g" түрлендіргішін қолданумен бірдей.

Синтаксис

IsMatch( Мәтін, үлгі [, Параметрлер ] )

  • Мәтін – Міндетті. Тексеретін мәтін жолы.
  • Үлгі – Міндетті. Мәтін жолы ретінде тексеретін үлгі. Enum анықтайтын немесе тұрақты өрнекті қамтамасыз ететін Match алдын ала анықталған үлгілерді біріктіріңіз. Үлгі айнымалылар, деректер көздері немесе бағдарлама іске қосылған кезде өзгеретін басқа динамикалық сілтемелері жоқ тұрақты формула болуы керек. Назар аударыңыз, формула «Match» деп білдірілуі керек. Алдын ала анықталған үлгі» т.б Match. Электрондық пошта
  • Параметрлер – Қосымша. MatchOptions санамалауы мәндерінің мәтін жолы тіркесімі. Әдепкі бойынша, MatchOptions.Complete пайдаланылады. Параметрлер айнымалыларсыз, деректер көздері немесе бағдарлама іске қосылған кезде өзгеретін басқа динамикалық сілтемелерсіз тұрақты формула болуы керек.

Match( Мәтін, үлгі [, Параметрлер ] )

  • Мәтін – Міндетті. Сәйкестігін анықтайтын мәтін жолы.
  • Үлгі – Міндетті. Мәтін жолы ретінде сәйкестігін анықтайтын үлгі. Enum анықтайтын алдын ала анықталған үлгілерді Match біріктіріңіз немесе тұрақты өрнекті қамтамасыз етеді. Үлгі қолданба іске қосылған сайын өзгеретін айнымалылар, деректер көздері немесе басқа динамикалық сілтемелерсіз тұрақты формула болуы керек.
  • Параметрлер – Қосымша. MatchOptions санамалауы мәндерінің мәтін жолы тіркесімі. Әдепкі бойынша, MatchOptions.Contains пайдаланылады. Параметрлер бағдарлама іске қосылған кезде өзгеретін айнымалыларсыз, деректер көздері немесе басқа динамикалық сілтемелері жоқ тұрақты формула болуы керек.

MatchAll( Мәтін, үлгі [, Параметрлер ] )

  • Мәтін – Міндетті. Сәйкестігін анықтайтын мәтін жолы.
  • Үлгі – Міндетті. Мәтін жолы ретінде сәйкестігін анықтайтын үлгі. Enum анықтайтын немесе тұрақты өрнекті қамтамасыз ететін Match алдын ала анықталған үлгілерді біріктіріңіз. Үлгі айнымалылар, деректер көздері немесе бағдарлама іске қосылған кезде өзгеретін басқа динамикалық сілтемелері жоқ тұрақты формула болуы керек.
  • Параметрлер – Қосымша. MatchOptions санамалауы мәндерінің мәтін жолы тіркесімі. Әдепкі бойынша, MatchOptions.Contains пайдаланылады. Параметрлер айнымалыларсыз, деректер көздері немесе бағдарлама іске қосылған кезде өзгеретін басқа динамикалық сілтемелерсіз тұрақты формула болуы керек.

IsMatch Мысалдар

Кәдімгі таңбалар

Бағдарламада TextInput1 деп аталатын Мәтінді енгізу басқару элементі бар делік. Пайдаланушылар мәндерді дерекқорда сақтау үшін осы басқару элементіне енгізеді.

Пайдаланушылар TextInput1 бағдарламасына Hello world деп тереді.

Формула Сипаттама Нәтиже
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 функциясының құжаттамасынан қараңыз. (?: операторы қосымша ішкі сәйкестікті жасаусыз таңбаларды топтайды. {
Тіл: «en»,
Сценарий: бос,
аймақ: «АҚШ»,
FullMatch: «en-US»,
StartMatch: 1
}
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) ISO 8601 ұзақтық мәнінен сағаттарды, минуттарды және секундтарды шығарып алады. Шығарып алынған сандар әлі мәтін жолында; математикалық амалдар орындалмай тұрып оны санға түрлендіру үшін Value функциясын пайдаланыңыз. {
сағаттары: «2»,
минут: «1»,
секундтар: «39»,
Толық матч: «PT2H1M39S»,
StartMatch: 1
}

Осы соңғы мысалды егжей-тегжейлі қарастырайық. Егер осы жолды Уақыт функциясын пайдаланып күн/уақыт мәніне түрлендіргіңіз келсе, аталған ішкі сәйкестіктерді жеке-жеке беру керек. Мұны істеу үшін 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 ) pangram айнымалысы қамтитын мәтін жолындағы "THE" сөзінің барлық сәйкестіктерін табады. Жолда екі сәйкестік бар, бірақ тек біріншісі қайтарылады, өйткені сіз қолданасыз Match және емес MatchAll. {
Толық матч: «The»,
БастауМатч: 32
}
MatchAll( pangram, "the" ) pangram айнымалысы қамтитын мәтін жолындағы "the" сөзінің барлық сәйкестіктерін табады. Тексеру регистрді ескереді, сондықтан "the" сөзінің екінші данасы ғана табылады. MatchAll Панграмма үшін.
MatchAll( pangram, "the", IgnoreCase ) pangram айнымалысы қамтитын мәтін жолындағы "the" сөзінің барлық сәйкестіктерін табады. Бұл жағдайда тексеру регистрді ескермейді, сондықтан сөздің екі данасы да табылады. 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" арасындағы барлық таңбаның сәйкестігін анықтайды. {
арасында: «жалқаулықтан секіру»,
FullMatch: «түлкі жалқау иттің үстінен секіреді»,
БасталуМатч: 17
}

Нәтижелерді MatchAll галереяда көру үшін:

  1. Бос экранда бос тік галерея басқару элементін кірістіріңіз.

  2. Жиынтықтың Элементтер сипатын ( pangram, "\w+" ) немесе ( pangram, MultipleLetters ) мәнінеMatchAll орнатыңыз.MatchAll

    Элементтер галереясы.

  3. Галерея үлгісін таңдау үшін галерея басқару элементінің ортасында ""Кірістіру" қойыншасынан элемент қосу" пәрменін таңдаңыз.

  4. Галерея үлгісіне Белгі басқару элементін қосыңыз.

  5. Белгінің Мәтін сипатын ThisItem.FullMatch деп орнатыңыз.

    Галерея мысал мәтіндегі әрбір сөзбен толтырылады. Барлық сөздерді бір экранда көру үшін жиынтық үлгісін және жапсырма басқару элементін өзгертіңіз.

    Мәтін сипаты.