PowerApps의 IsMatch, 일치 및 MatchAll 함수IsMatch, Match, and MatchAll functions in PowerApps

일치 또는 추출 패턴에 따라 텍스트 문자열 부분을 테스트 합니다.Tests for a match or extracts portions of a text string based on a pattern.

설명Description

IsMatch 함수는 텍스트 문자열이 일반 문자, 미리 정의된 패턴 또는 정규식을 구성할 수 있는 패턴과 일치하는지 여부를 테스트합니다.The IsMatch function tests whether a text string matches a pattern that can comprise ordinary characters, predefined patterns, or a regular expression. 일치 하 고 MatchAll 어떤 일치 하는 경우 하위 검색 항목을 포함 하 여 함수 반환 합니다.The Match and MatchAll functions return what was matched, including sub-matches.

IsMatch를 사용하여 사용자가 Text input 컨트롤에 입력한 것의 유효성을 검사합니다.Use IsMatch to validate what a user has typed in a Text input control. 예를 들어, 결과가 데이터 원본에 저장되기 전에 사용자가 유효한 이메일 주소를 입력했는지 여부를 확인할 수 있습니다.For example, you can confirm whether the user has entered a valid email address before the result is saved to your data source. 항목이 조건과 일치하지 않는 경우 사용자에게 항목을 수정하도록 하는 다른 컨트롤을 추가합니다.If the entry doesn't match your criteria, add other controls that prompt the user to correct the entry.

사용 하 여 일치 패턴과 일치 하는 첫 번째 텍스트 문자열을 추출 하 고 MatchAll 일치 하는 모든 텍스트 문자열을 추출 하 합니다.Use Match to extract the first text string that matches a pattern and MatchAll to extract all text strings that match. 또한 복잡 한 문자열을 구문 분석 하위 검색 항목을 추출할 수 있습니다.You can also extract sub-matches to parse complex strings.

일치 찾을 첫 번째 일치 항목에 대 한 정보는 레코드를 반환 하 고 MatchAll 찾은 모든 일치 항목에 대 한 레코드의 테이블을 반환 합니다.Match returns a record of information for the first match found, and MatchAll returns a table of records for every match found. 레코드를 포함 합니다.The record or records contain:

Column 유형Type 설명Description
하위 라는‑와 일치 하거나 하위‑와 일치named sub‑match or sub‑matches TextText 각 명명 된 하위 일치 항목 자체 열을 포함 됩니다.Each named sub-match will have its own column. 사용 하 여 일치 하는 명명 된 하위 항목을 만듭니다 (?< 이름을>... ) 정규식에서입니다.Create a named sub-match by using (?<name>...) in the regular expression. 일치 하는 명명 된 하위 항목에 미리 정의 된 열 (아래 참조) 중 하 나와 이름이 같은 경우 일치 하는 하위 우선 적용 되어 경고가 생성 됩니다.If a named sub-match has the same name as one of the predefined columns (below), the sub-match takes precedence, and a warning is generated. 이 경고를 방지 하려면 하위 검색 항목을 이름을 바꿉니다.To avoid this warning, rename the sub-match.
FullMatchFullMatch TextText 모든 일치 된 텍스트 문자열입니다.All of the text string that was matched.
StartMatchStartMatch 번호Number 입력된 텍스트 문자열 내에서 일치 항목의 시작 위치입니다.The starting position of the match within the input text string. 문자열의 첫 번째 문자는 1을 반환합니다.The first character of the string returns 1.
SubMatchesSubMatches 텍스트의 단일 열 테이블 (열 )Single-column table of Text (column Value) 정규식에 나타나는 순서로 명명 되 고 명명 되지 않은 하위 검색 항목의 테이블입니다.The table of named and unnamed sub-matches in the order in which they appear in the regular expression. 일반적으로 명명 된 하위 검색 항목 사용 하기 쉬운 되며 것이 좋습니다.Generally, named sub-matches are easier to work with and are encouraged. 사용 된 ForAll 함수 또는 마지막( FirstN( ... )) 기능이 개별 하위 일치를 사용 하 여 작동 합니다.Use the ForAll function or Last( FirstN( ... ) ) functions to work with an individual sub-match. 하위 일치 하는 정규식에 정의 된,이 테이블 존재 하지만 비어 있이 됩니다.If no sub-matches are defined in the regular expression, this table will be present but empty.

이러한 함수는 지원 MatchOptions합니다.These functions support MatchOptions. 기본적으로:By default:

  • 이러한 함수는 대/소문자 구분 일치를 수행합니다.These functions perform a case-sensitive match. 사용 하 여 IgnoreCase 대/소문자 구분 일치를 수행 하 합니다.Use IgnoreCase to perform case-insensitive matches.
  • IsMatch 전체 텍스트 문자열을 찾습니다 (완료 MatchOption)을 하는 동안 일치 하 고 MatchAll (텍스트문자열에있는일치항목을검색 포함 MatchOption).IsMatch matches the entire text string (Complete MatchOption), while Match and MatchAll search for a match anywhere in the text string (Contains MatchOption). 사용 하 여 완료, Contains합니다 시작 문자, 또는 EndsWith 시나리오에 적합 하 게 합니다.Use Complete, Contains, BeginsWith, or EndsWith as appropriate for your scenario.

IsMatch는 텍스트 문자열이 패턴과 일치하는 경우 true를 반환하고 그렇지 않은 경우 false를 반환합니다.IsMatch returns true if the text string matches the pattern or false if it doesn't. 일치 반환 와 함께 테스트할 수 있는 일치 하는 항목이 없으면 합니다 IsBlank 함수입니다.Match returns blank if no match is found that can be tested with the IsBlank function. MatchAll 와 함께 테스트할 수 있는 일치 하는 항목이 없으면 빈 테이블을 반환 합니다 IsEmpty 함수입니다.MatchAll returns an empty table if no match is found that can be tested with the IsEmpty function.

사용 중인 경우 MatchAll 텍스트 문자열을 분할 하려면 사용을 고려 합니다 분할 함수를 사용 하기 더욱 간편해졌으며 빠르고 합니다.If you're using MatchAll to split a text string, consider using the Split function, which is simpler to use and faster.

패턴Patterns

이러한 함수를 사용 하 여 키를 일치 시킬 패턴을 설명 하는 경우The key to using these functions is in describing the pattern to match. 다음의 조합으로 텍스트 문자열에서 패턴을 설명합니다.You describe the pattern in a text string as a combination of:

  • "abc" 또는 "123" 과 같은 일반 문자Ordinary characters, such as "abc" or "123".
  • Letter, MultipleDigits 또는 Email과 같은 미리 정의된 패턴Predefined patterns, such as Letter, MultipleDigits, or Email. (Match 열거는 이러한 패턴을 정의합니다.)(The Match enum defines these patterns.)
  • 와 같은 정규식 코드 "\d+\s+\d+" 하거나 "[a-z] +" 합니다.Regular-expression codes, such as "\d+\s+\d+" or "[a-z]+".

사용 하 여 이러한 요소를 결합 합니다 문자열 연결 연산자 & 합니다.Combine these elements by using the string-concatenation operator &. 예를 들어, "abc" & Digit & "\s+" 는 "a", "b" 및 "c", 그 뒤에 0~9의 숫자, 그 뒤에 최소 하나의 공백 문자가 오는 문자와 일치하는 유효한 패턴입니다.For example, "abc" & Digit & "\s+" is a valid pattern that matches the characters "a", "b", and "c", followed by a digit from 0 to 9, followed by at least one whitespace character.

일반 문자Ordinary characters

가장 간단한 패턴은 정확히 일치되는 일반 문자의 시퀀스입니다.The simplest pattern is a sequence of ordinary characters to be matched exactly.

예를 사용 하는 경우는 IsMatch 함수를 "Hello" 문자열을 패턴과 일치 "Hello" 정확 하 게 합니다.For example, when used with the IsMatch function, the string "Hello" matches the pattern "Hello" exactly. 그 이상 그 이하도 아닙니다.No more and no less. 문자열 "hello!"The string "hello!" 끝에 느낌표가 인해 패턴과 일치 하지 않습니다 하 고 문자 "h"에 대 한 잘못 된 경우.doesn't match the pattern because of the exclamation point on the end and because the case is wrong for the letter "h". (이 동작을 수정하는 방법은 MatchOptions를 참조하세요.)(See MatchOptions for ways to modify this behavior.)

패턴 언어에서 특정 문자는 특별한 용도로 예약되어 있습니다.In the pattern language, certain characters are reserved for special purposes. 이러한 문자를 사용 하려면 문자에 접두사를 사용 하 여는 \ (백슬래시) 문자를 리터럴로 처리 해야 하거나이 항목의 뒷부분에 설명 된 미리 정의 된 패턴 중 하나를 사용 합니다.To use these characters, either prefix the character with a \ (backslash) to indicate that the character should be taken literally, or use one of the predefined patterns described later in this topic. 이 테이블은 특수 문자를 나열합니다.This table lists the special characters:

특수 문자Special character 설명Description
.. 점 또는 마침표dot or period
?? 물음표question mark
** 별표asterisk
+ 더하기plus
( )( ) 괄호parentheses
[ ][ ] 대괄호square brackets
{ }{ } 중괄호curly braces
^ 캐럿caret
$ 달러 기호dollar sign
| 세로 막대 또는 파이프vertical bar or pipe
\ 백슬래시backslash

예를 들어 "Hello?"를 찾아 볼 수 있습니다.For example, you can match "Hello?" 패턴을 사용 하 여 "Hello\?"by using the pattern "Hello\?" 물음표 앞에 백슬래시와.with a backslash before the question mark.

미리 정의된 패턴Predefined patterns

미리 정의 된 패턴에는 문자 집합 중 하나 또는 여러 문자의 시퀀스와 일치 하는 간단한 방법을 제공 합니다.Predefined patterns provide a simple way to match either one of a set of characters or a sequence of multiple characters. 사용 된 문자열 연결 연산자 & 의 구성원과 사용자 고유의 텍스트 문자열을 결합 하는 일치 열거형:Use the string-concatenation operator & to combine your own text strings with members of the Match enum:

일치 열거Match enum 설명Description 정규식Regular expression
AnyAny 문자와 일치합니다.Matches any character. .
CommaComma 쉼표와 일치합니다.Matches a comma. ,
DigitDigit 단일 숫자("0"부터 "9")와 일치합니다.Matches a single digit ("0" through "9"). \d
EmailEmail "at" 기호("@")를 포함하는 이메일 주소 및 점(".")을 포함하는 도메인 이름과 일치합니다.Matches an email address that contains an "at" symbol ("@") and a domain name that contains a dot (".") .+\@.+\\.[^\\.]{2,}
HyphenHyphen 하이픈과 일치합니다.Matches a hyphen. \-
LeftParenLeftParen 왼쪽 괄호"("와 일치합니다.Matches a left parenthesis "(". \(
LetterLetter 문자와 일치합니다.Matches a letter. \p{L}
MultipleDigitsMultipleDigits 하나 이상의 숫자를 찾습니다.Matches one or more digits. \d+
MultipleLettersMultipleLetters 하나 이상의 문자와 일치합니다.Matches one or more letters. \p{L}+
MultipleNonSpacesMultipleNonSpaces 공백 (공백, 탭 또는 줄 바꿈 하지) 추가 하지 않는 하나 이상의 문자와 대응 합니다.Matches one or more characters that don't add whitespace (not space, tab, or newline). \S+
MultipleSpacesMultipleSpaces 공백 (공백, 탭 또는 줄 바꿈)를 추가 하는 하나 이상의 문자와 대응 합니다.Matches one or more characters that add whitespace (space, tab, or newline). \s+
NonSpaceNonSpace 공백을 추가하지 않는 단일 문자와 일치합니다.Matches a single character that doesn't add whitespace. \S
OptionalDigitsOptionalDigits 0개, 1개 또는 더 많은 숫자와 일치합니다.Matches zero, one, or more digits. \d*
OptionalLettersOptionalLetters 0개, 1개 또는 더 많은 문자와 일치합니다.Matches zero, one, or more letters. \p{L}*
OptionalNonSpacesOptionalNonSpaces 공백을 추가하지 않는 0개, 1개 또는 더 많은 문자와 일치합니다.Matches zero, one, or more characters that don't add whitespace. \S*
OptionalSpacesOptionalSpaces 공백을 추가하는 0개, 1개 또는 더 많은 문자와 일치합니다.Matches zero, one, or more characters that add whitespace. \s*
PeriodPeriod 마침표 또는 점(".")과 일치합니다.Matches a period or dot ("."). \.
RightParenRightParen 오른쪽 괄호")"와 일치합니다.Matches a right parenthesis ")". \)
SpaceSpace 공백을 추가하는 문자와 일치합니다.Matches a character that adds whitespace. \s

예를 들어, 패턴 "A" & MultipleDigits는 하나 이상의 숫자가 뒤에 오는 문자 "A"와 일치합니다.For example, the pattern "A" & MultipleDigits will match the letter "A" followed by one or more digits.

정규식Regular expressions

이러한 함수를 사용 하는 패턴은는 정규식합니다.The pattern that these functions use is a regular expression. 일반 문자 및이 항목에서는 도움말의 앞부분에서 설명 하는 미리 정의 된 패턴 정규식을 작성 합니다.The ordinary characters and predefined patterns that are described earlier in this topic help build regular expressions.

정규식은 매우 강력하고 여러 프로그래밍 언어에서 사용할 수 있으며 다양한 목적에 사용됩니다.Regular expressions are very powerful, available in many programming languages, and used for a wide variety of purposes. 문장 부호의 임의 시퀀스를 종종 같이 수 있습니다.They can also often look like a random sequence of punctuation marks. 정규식의 모든 측면 하지만 다양 한 정보, 자습서,이 문서에서는 설명 하지 않습니다 및 도구는 웹에서 확인할 수 있습니다.This article doesn't describe all aspects of regular expressions, but a wealth of information, tutorials, and tools are available on the web.

다른 언어에서 제공 되는 정규식 및 PowerApps는 JavaScript 언어의 변형입니다.Regular expressions come in different dialects, and PowerApps uses a variant of the JavaScript dialect. 참조 정규식 구문 구문에 대 한 소개입니다.See regular-expression syntax for an introduction to the syntax. 명명 된 하위 검색 항목 (명명 된 캡처 그룹 라고도 함)이 지원 됩니다.Named sub-matches (sometimes called named capture groups) are supported:

  • 하위 검색 항목 이라는: (?< 이름을 > ...)Named sub-matches: (?<name> ...)
  • 역참조 라는: \k<이름>Named backreferences: \k<name>

일치 열거형이이 항목의 앞부분에 테이블의 해당 정규식과 같은 행에 표시 되는 각 열거형입니다.In the Match enum table earlier in this topic, each enum appears in the same row as its corresponding regular expression.

일치 옵션Match options

문자열 연결 연산자를 사용 하 여 결합할 수 있는 하나 이상의 옵션을 지정 하 여 이러한 함수의 동작을 수정할 수 있습니다 (&).You can modify the behavior of these functions by specifying one or more options, which you can combine by using the string- concatenation operator (&).

MatchOptions 열거MatchOptions enum 설명Description 정규식에 미치는 영향Impact on a regular expression
BeginsWithBeginsWith 패턴은 텍스트의 시작 부분에서 일치해야 합니다.The pattern must match from the beginning of the text. ^ 를 정규식의 시작 부분에 추가합니다.Adds a ^ to the start of the regular expression.
CompleteComplete 에 대 한 기본 IsMatch합니다.Default for IsMatch. 패턴 처음부터 끝까지에서 텍스트의 전체 문자열을 일치 해야 합니다.The pattern must match the entire string of text, from beginning to end. 추가 된 ^ 시작 및 $ 정규식의 끝에 합니다.Adds a ^ to the start and a $ to the end of the regular expression.
ContainsContains 에 대 한 기본 일치 하 고 MatchAll합니다.Default for Match and MatchAll. 패턴은 텍스트의 어딘가에 나타나야 하지만 시작 또는 끝일 필요가 없습니다.The pattern must appear somewhere in the text but doesn't need to begin or end it. 정규식을 수정하지 않습니다.Doesn't modify the regular expression.
EndsWithEndsWith 패턴은 텍스트 문자열의 끝을 일치 해야 합니다.The pattern must match the end of the string of text. $ 를 정규식의 끝 부분에 추가합니다.Adds a $ to the end of the regular expression.
IgnoreCaseIgnoreCase 동일한 대/소문자를 대문자로 처리Treats uppercase and lowercase letters as identical. 기본적으로 일치는 대/소문자 구분입니다.By default, matching is case sensitive. 정규식을 수정하지 않습니다.Doesn't modify the regular expression. 이 옵션은 정규식에 대 한 표준 "i" 한정자는 것과 같습니다.This option is the equivalent of the standard "i" modifier for regular expressions.
MultilineMultiline 여러 줄과 일치합니다.Matches across multiple lines. 정규식을 수정하지 않습니다.Doesn't modify the regular expression. 이 옵션은 정규식에 대 한 "m" 표준 한정자는 것과 같습니다.This option is the equivalent of the standard "m" modifier for regular expressions.

사용 하 여 MatchAll 정규식에 대 한 표준 "g" 한정자를 사용 하는 것과 같습니다.Using MatchAll is equivalent to using the standard "g" modifier for regular expressions.

구문Syntax

IsMatch( Text, Pattern [, Options ] )IsMatch( Text, Pattern [, Options ] )

  • Text – 필수 항목입니다.Text – Required. 테스트할 텍스트 문자열입니다.The text string to test.
  • Pattern – 필수 항목입니다.Pattern – Required. 텍스트 문자열로 테스트할 패턴입니다.The pattern to test as a text string. 미리 정의 된 패턴을 연결 하는 일치 열거형을 정의 또는 정규식을 제공 합니다.Concatenate predefined patterns that the Match enum defines, or provide a regular expression. 패턴 모든 변수, 데이터 원본 또는 다른 동적 앱 실행 될 때 해당 변경 내용을 참조 하지 않고 상수 수식 이어야 합니다.Pattern must be a constant formula without any variables, data sources, or other dynamic references that change as the app runs.
  • Options – 선택 사항입니다.Options – Optional. 텍스트 문자열 조합 MatchOptions 열거형 값입니다.A text-string combination of MatchOptions enum values. 기본적으로 MatchOptions.Complete가 사용됩니다.By default, MatchOptions.Complete is used.

일치( 텍스트하십시오 패턴 [합니다 옵션 ])Match( Text, Pattern [, Options ] )

  • Text – 필수 항목입니다.Text – Required. 와 일치 하도록 텍스트 문자열입니다.The text string to match.
  • Pattern – 필수 항목입니다.Pattern – Required. 패턴 일치 텍스트 문자열입니다.The pattern to match as a text string. 미리 정의 된 패턴을 연결 하는 일치 열거형을 정의 또는 정규식을 제공 합니다.Concatenate predefined patterns that the Match enum defines, or provide a regular expression. 패턴 모든 변수, 데이터 원본 또는 다른 동적 앱 실행 될 때 해당 변경 내용을 참조 하지 않고 상수 수식 이어야 합니다.Pattern must be a constant formula without any variables, data sources, or other dynamic references that change as the app runs.
  • Options – 선택 사항입니다.Options – Optional. 텍스트 문자열 조합 MatchOptions 열거형 값입니다.A text-string combination of MatchOptions enum values. 기본적으로 MatchOptions.Contains 사용 됩니다.By default, MatchOptions.Contains is used.

MatchAll( 텍스트하십시오 패턴 [합니다 옵션 ])MatchAll( Text, Pattern [, Options ] )

  • Text – 필수 항목입니다.Text – Required. 와 일치 하도록 텍스트 문자열입니다.The text string to match.
  • Pattern – 필수 항목입니다.Pattern – Required. 패턴 일치 텍스트 문자열입니다.The pattern to match as a text string. 미리 정의 된 패턴을 연결 하는 일치 열거형을 정의 또는 정규식을 제공 합니다.Concatenate predefined patterns that the Match enum defines, or provide a regular expression. 패턴 모든 변수, 데이터 원본 또는 다른 동적 앱 실행 될 때 해당 변경 내용을 참조 하지 않고 상수 수식 이어야 합니다.Pattern must be a constant formula without any variables, data sources, or other dynamic references that change as the app runs.
  • Options – 선택 사항입니다.Options – Optional. 텍스트 문자열 조합 MatchOptions 열거형 값입니다.A text-string combination of MatchOptions enum values. 기본적으로 MatchOptions.Contains 사용 됩니다.By default, MatchOptions.Contains is used.

IsMatch 예제IsMatch examples

일반 문자Ordinary characters

앱에 TextInput1이라는 Text input 컨트롤이 포함되어 있다고 가정합니다.Imagine that your app contains a Text input control named TextInput1. 사용자는 데이터베이스에 저장되도록 이 컨트롤에 값을 입력합니다.The user enters values into this control to be stored in a database.

사용자는 TextInput1Hello world를 입력합니다.The user types Hello world into TextInput1.

수식Formula 설명Description 결과Result
IsMatch( TextInput1.Text, "Hello world" ) 테스트 사용자의 입력 여부와 정확히 일치 "Hello world" 문자열입니다.Tests whether the user's input matches, exactly, the string "Hello world". truetrue
IsMatch( TextInput1.Text, "Good bye" ) 테스트 사용자의 입력 여부와 정확히 일치 문자열 "Good bye"입니다.Tests whether the user's input matches, exactly, the string "Good bye". falsefalse
IsMatch( TextInput1.Text, "hello", Contains ) 사용자 입력의 단어 "hello" (대/소문자 구분)를 포함 하는지 여부를 테스트 합니다.Tests whether the user's input contains the word "hello" (case sensitive). falsefalse
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) 사용자의 입력이 단어 "hello"(대/소문자 구분하지 않음)를 포함하는지 여부를 테스트합니다.Tests whether the user's input contains the word "hello" (case insensitive). truetrue

미리 정의된 패턴Predefined patterns

수식Formula 설명Description 결과Result
IsMatch( "123-45-7890", Digit & Digit & Digit & Hyphen & Digit & Digit & Hyphen & Digit & Digit & Digit & Digit ) 미국 사회 보장 번호와 일치합니다.Matches a United States Social Security Number truetrue
IsMatch( "joan@contoso.com", Email ) 이메일 주소와 일치합니다.Matches an email address truetrue
IsMatch( "123.456", MultipleDigits & Period & OptionalDigits ) 숫자, 마침표, 0개 이상의 숫자 시퀀스와 일치합니다.Matches a sequence of digits, a period, and then zero or more digits. truetrue
IsMatch( "123", MultipleDigits & Period & OptionalDigits ) 숫자, 마침표, 0개 이상의 숫자 시퀀스와 일치합니다.Matches a sequence of digits, a period, and then zero or more digits. 이 패턴은 일치 하지 않습니다 있도록 마침표를 일치 하는 텍스트에 표시 되지 않습니다.A period doesn't appear in the text to match, so this pattern isn't matched. falsefalse

정규식Regular expressions

수식Formula 설명Description 결과Result
IsMatch( "986", "\d+" ) 0 보다 큰 정수를 찾습니다.Matches an integer greater than zero. truetrue
IsMatch( "1.02", "\d+(\.\d\d)?" ) 양수 통화 금액과 일치합니다.Matches a positive currency amount. 소수점을 포함 하는 입력, 입력 소수점 뒤 두 숫자를도 포함 해야 합니다.If the input contains a decimal point, the input must also contain two numeric characters after the decimal point. 예를 들어, 3.00은 유효하지만 3.1은 유효하지 않습니다.For example, 3.00 is valid, but 3.1 isn't. truetrue
IsMatch( "-4.95", "(-)?\d+(\.\d\d)?" ) 양수 또는 음수 통화 금액과 일치합니다.Matches a positive or negative currency amount. 소수점을 포함 하는 입력, 입력 소수점 뒤 두 숫자를도 포함 해야 합니다.If the input contains a decimal point, the input must also contain two numeric characters after the decimal point. truetrue
IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" ) 미국 사회 보장 번호와 일치합니다.Matches a United States Social Security number. 제공된 입력 필드의 형식, 유형 및 길이의 유효성을 검사합니다.Validates the format, type, and length of the supplied input field. 일치 하는 문자열 뒤에 대시를 다음 두 개의 숫자 뒤에 대시를 세 자리 숫자로 및 다음 4 개의 숫자 문자로 구성 되어야 합니다.The string to match must consist of three numeric characters followed by a dash, then two numeric characters followed by a dash, and then four numeric characters. truetrue
IsMatch( "111-111-111", "\d{3}-\d{2}-\d{4}" ) 이전 예제와 같지만 하이픈 중 하나가 입력에서 제자리에 있지 않습니다.Same as the previous example, but one of the hyphens is out of place in the input. falsefalse
IsMatch( "AStrongPasswordNot", "(?!^[0-9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9]{8,10})" ) 8, 9 또는 10 자 이상의 숫자, 영문자가 하나 이상 실행 하는 것 외에도 포함 해야 하는 강력한 암호를 확인 합니다.Validates a strong password, which must contain eight, nine, or 10 characters, in addition to at least one digit and at least one alphabetic character. 문자열은 특수 문자를 포함할 수 없습니다.The string must not contain special characters. falsefalse
IsMatch( "<http://microsoft.com>", "(ht&#124;f)tp(s?)\:\/\/\[0-9a-zA-Z\]([-.\w]\*[0-9a-zA-Z])\*(:(0-9)\*)\*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]\*)?" ) http, https 또는 ftp URL의 유효성을 검사합니다.Validates an http, https, or ftp URL. truetrue

일치 및 MatchAll 예제Match and MatchAll examples

수식Formula 설명Description 결과Result
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>" & Match.Email & ")>" 연락처 정보를 전자 메일 부분만을 추출합니다.Extracts only the email portion of the contact information. {{
email: "bob.jones@contoso.com",email: "bob.jones@contoso.com",
FullMatch: "<bob.jones@contoso.com>",FullMatch: "<bob.jones@contoso.com>",
SubMatches: [ "bob.jones@contoso.com" ],SubMatches: [ "bob.jones@contoso.com" ],
StartMatch: 11StartMatch: 11
}}
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" 연락처 정보를 전자 메일 부분만을 추출합니다.Extracts only the email portion of the contact information. 없는 올바른 주소를 찾을 수 (방법이 더 @ 기호) 이므로 반환 합니다.No legal address is found (there is no @ sign), so the function returns blank. 공백blank
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) 언어의 언어, 스크립트 및 영역 부분을 추출 하는 태그를 언어 함수에서 반환 합니다.Extracts the language, script, and region portions of the language tag that the Language function returns. 이러한 결과 미국 반영합니다. 참조를 언어 함수 설명서 예를 더 합니다.These results reflect the United States; see the Language function documentation for more examples. 합니다 (?: 연산자는 다른 하위 검색 항목을 만들지 않고 문자를 그룹화 합니다.The (?: operator groups characters without creating another sub-match. {{
언어: "en",language: "en",
script: blank,script: blank,
region: "US",region: "US",
FullMatch: "EN-US",FullMatch: "en-US",
부분 일치: ["en", "", "미국"],SubMatches: [ "en", "", "US" ],
StartMatch: 1StartMatch: 1
}}
Match( "PT2H1M39S", "PT(?:(<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) ISO 8601 기간 값에서 시간, 분 및 초를 추출합니다.Extracts the hours, minutes, and seconds from an ISO 8601 duration value. 텍스트 문자열에서 추출 된 숫자는 사용 합니다 전에 수치 연산을 수행 하는 숫자로 변환 하는 함수입니다.The extracted numbers are still in a text string; use the Value function to convert it to a number before mathematical operations are performed on it. {{
시간: "2",hours: "2",
(분): "1",minutes: "1",
(초): "39",seconds: "39",
FullMatch: "PT2H1M39S",FullMatch: "PT2H1M39S",
SubMatches: [ "2", "1", "39" ],SubMatches: [ "2", "1", "39" ],
StartMatch: 1StartMatch: 1
}}

마지막 예제를 살펴보겠습니다.Let's drill into that last example. 그런데이 문자열을 사용 하 여 날짜/시간 값으로 변환 하는 경우는 시간 함수에 전달 해야 일치 하는 명명 된 하위 항목에 개별적으로 합니다.If you wanted to convert this string to a date/time value using the Time function, you must pass in the named sub-matches individually. 이 위해 사용할 수 있습니다는 ForAll 함수에서 첫 번째 레코드 MatchAll 반환 합니다.To do this, you can use the ForAll function operating on the first record that MatchAll returns:

First( 
    ForAll( 
        MatchAll( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ), 
        Time( Value( hours ), Value( minutes ), Value( seconds ) )
    )
).Value

이러한 예를 들어 추가 단추 컨트롤 해당 OnSelect 속성을이 수식 및 다음 단추를 선택 합니다.For these examples, add a Button control, set its OnSelect property to this formula, and then select the button:

Set( pangram, "The quick brown fox jumps over the lazy dog." )
수식Formula 설명Description 결과Result
Match( pangram, "THE", IgnoreCase ) 문자열이 "THE" 텍스트에서의 모든 일치 항목 찾기는 pangram 변수를 포함 합니다.Find all matches of "THE" in the text string that the pangram variable contains. 문자열에 두 개의 일치 하는 않지만 사용 중 이므로 첫 번째 메시지만 반환 일치 아니라 MatchAll합니다.The string contains two matches, but only the first is returned because you're using Match and not MatchAll. 부분 일치 열 정의 된 하위 일치 하기 때문에 비어 있습니다.The SubMatches column is empty because no sub-matches were defined. {{
FullMatch: "The",FullMatch: "The",
부분 일치: [ ],SubMatches: [ ],
StartMatch: 32StartMatch: 32
}}
MatchAll( pangram, "the" ) 텍스트 문자열에서 "the"의 모든 일치 항목을 검색 합니다 pangram 변수를 포함 합니다.Find all matches of "the" in the text string that the pangram variable contains. 테스트에만 "the"의 두 번째 인스턴스를 찾을 수 대 소문자를 구분 합니다.The test is case sensitive, so only the second instance of "the" is found. 부분 일치 열 정의 된 하위 일치 하기 때문에 비어 있습니다.The SubMatches column is empty because no sub-matches were defined.
MatchAll( pangram, "the", IgnoreCase ) 텍스트 문자열에서 "the"의 모든 일치 항목을 검색 합니다 pangram 변수를 포함 합니다.Find all matches of "the" in the text string that the pangram variable contains. 이 경우 단어의 두 인스턴스가 있으므로 테스트는 대/소문자를 구분 합니다.In this case, the test is case insensitive, so both instances of the word are found. 부분 일치 열 정의 된 하위 일치 하기 때문에 비어 있습니다.The SubMatches column is empty because no sub-matches were defined.
MatchAll( pangram, "\b\wo\w\b" ) 중간에 "o"를 사용 하 여 모든 세 글자 단어를 찾습니다.Finds all three-letter words with an "o" in the middle. "Brown"이 제외 되었음을 세 문자로 단어 아니며, "\b" (단어 경계)과 일치 하지 않으므로 하므로 note 합니다.Note that "brown" is excluded because it's not a three-letter word and, therefore, fails to match "\b" (word boundary).
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) "Fox" 및 "dog" 사이 있는 모든 문자를 찾습니다.Matches all the characters between "fox" and "dog". {{
간의: "점프 위에 는 지연",between: "jumps over the lazy",
FullMatch: "fox jumps over the lazy dog",FullMatch: "fox jumps over the lazy dog",
부분 일치: ["jumps over 지연"],SubMatches: [ "jumps over the lazy" ],
StartMatch: 17StartMatch: 17
}}

결과를 보려면 MatchAll 갤러리에서:To see the results of MatchAll in a gallery:

  1. 빈 화면에서 빈 세로 삽입 갤러리 제어 합니다.In an empty screen, insert a blank vertical Gallery control.

  2. 갤러리의 설정 항목이 속성을 MatchAll (pangram, "\w+") 하거나 MatchAll (pangram MultipleLetters) 합니다.Set the gallery's Items property to MatchAll( pangram, "\w+" ) or MatchAll( pangram, MultipleLetters ).

  3. 갤러리의 템플릿을 선택 하는 갤러리 컨트롤 중간 "삽입 탭에서 항목 추가"를 선택 합니다.Select "Add an item from the Insert tab" in the middle of the gallery control to select the template of the gallery.

  4. 추가 된 레이블 갤러리의 템플릿에 컨트롤입니다.Add a Label control to the gallery's template.

  5. 레이블 설정 텍스트 속성을 ThisItem.FullMatch합니다.Set the label's Text property to ThisItem.FullMatch.

    갤러리 예제에서는 텍스트에서 각 단어를 사용 하 여 채워집니다.The gallery is filled with each word in our example text. 모든 단어를 하나의 화면에 표시 하려면 갤러리의 템플릿 및 레이블 컨트롤을 크기 조정 합니다.Resize the gallery's template and the label control in order to see all the words on one screen.