SharePointリストからフォームでアプリを作る場合は入力確認がされますが、フォームでない場合などきちんとした形式で入力されているか確認したい時があるかと思います。その時に便利な関数IsMatch関数をまとめてみます。
Microsoftのホームページによりますと、以下のように書かれています。
IsMatch 関数は、通常文字、事前定義済みのパターン、または正規表現 が含まれたパターンにテキスト文字列が一致するかどうかをテストします。 Match および MatchAll 関数は、サブマッチを含め、一致したものを返します。
Text inputに入っているテキストが要望通りか確認することが可能です。
IsMatch(Text, Pattern [, Options ] )Text(必須):検証したいテキスト
Pattern(必須): テキスト文字列としてテストするパターン
Option(任意):一部か全部か選択可能。デフォルトはMatchOptions.Complete(完全一致)
戻り値
true:パターンに一致した場合
false:パターンに一致しない場合
IsMatch関数でできる3つのこと
・特定の文字がふくまれているかチェック(部分一致)
・メールアドレスなどの決まった形式かチェック(定義済パターン)
・正規表現を使った自由な形式チェック
パターンは自分で任意のテキストを設定したり、あらかじめ定義されているパターンを使用したり、また正規表現として合っているか設定することが可能です。
TextInput1というテキスト入力に入っている文字が”Hello World”と入ってほしい場合、確認する場合は下記のように書きます。
IsMatch( TextInput1.Text, "Hello world" )この場合は完全一致しているため、trueが返ってきます。
テキスト入力に”Hello”が入っているか(部分一致)確認する場合は、オプションにContainsを書きます。MatchOptions.Contains と書く代わりに、単に Contains と書いても動作します。
IsMatch(TextInput1.Text,"hello",MatchOptions.Contains)
この場合、大文字と小文字の区別をしているため、”hello”が小文字のためfalseになります。
このままでもhelloが入っていると判定するためには、下記のように記載します。
IsMatch(TextInput1.Text,"hello",MatchOptions.Contains & MatchOptions.IgnoreCase )複数のオプションを組み合わせる場合は、アンパサンド(&)で繋ぎます
上記のように記載すると大文字小文字の区別なくhelloが入っていると判断されtrueになります。
あらかじめ定義されたパターンを使用して簡単に確認可能です。
IsMatch(TextInput1.Text,Match.Email)こちらの定義されたパターンを選択するとわかるのですが、あらかじめ定義された正規表現が設定されています。わざわざ自分で記入しなくてもあらかじめ設定されているもので、Emailアドレスかどうか判定してもらえます。

テキスト入力の下に赤い文字で警告を出すラベルを置き、ラベルのVisibleプロパティに下記を設定すると、メールアドレスの形式が正しくない時だけ警告を出すことができます。
Visible=!IsMatch(TextInput1.Text, Match.Email)
テキスト入力に入っているテキストが指示された日付入力のパターンか調べる方法は下記になります。

\dは1桁の数と一致します。(“0″~”9”) {}で桁数を表しています。
//例: 日本でよく使う YYYY/MM/DD 形式を確認する場合
IsMatch(TextInput1.Text, "\d{4}/\d{2}/\d{2}")
正規表現の詳しい説明は下記のMicrosoftのサイトに詳しく載っています。
参考 Power Apps での IsMatch、Match、および MatchAll 関数Microsoft Learn

