IsMatch、Match、MatchAll関数は、Power Appsで正規表現によるテキストデータの操作や検証に非常に役立つ関数です。
正規表現を使用することで、高度なテキスト処理が可能となります。これらの関数を使いこなすことで、さまざまなアプリケーションやプロセスにおいてデータの操作と検証を効率的に行うことができます。
IsMatch関数とは
通常文字、事前定義済みのパターン、または正規表現 が含まれたパターンにテキスト文字列が一致するかどうかをテストします。
公式より引用
IsMatch関数は、指定したテキストが正規表現パターンと一致するかどうかを判定します。
構文
IsMatch( Text, Pattern [, Options ] )
Text – 必須。 テストするテキスト文字列。
Pattern – 必須。 テキスト文字列としてテストするパターン。 Match 列挙型が定義する事前定義済みのパターンを連結するか、正規表現を提供します。 Pattern は、変数、データソース、またはアプリの実行中に変化するその他の動的参照のない定数式である必要があります。
Options – 任意。 MatchOptions 列挙値を組み合わせたテキスト文字列。 既定では MatchOptions.Complete が使用されます。
IsMatch関数は、指定したテキストが正規表現パターンと一致する場合にTrueを返し、一致しない場合にFalseを返します。これを使用して、テキストのバリデーションやフィルタリングを行うことができます。
Match関数とは
サブマッチを含め、一致したものを返します。
公式より引用
Match関数は、指定した正規表現パターンに一致する部分文字列をテキストから抽出します。
構文
Match( Text, Pattern [, Options ] )
Text – 必須。 一致するテキスト文字列。
Pattern – 必須。 テキスト文字列として一致するパターン。 Match 列挙型が定義する事前定義済みのパターンを連結するか、正規表現を提供します。 Pattern は、変数、データソース、またはアプリの実行中に変化するその他の動的参照のない定数式である必要があります。
Options – 任意。 MatchOptions 列挙値を組み合わせたテキスト文字列。 既定では、MatchOptions.Complete が使用されます。
Match関数は、指定したテキスト内で正規表現パターンに一致する部分文字列を見つけ、それらをリストとして返します。この関数を使用することで、テキスト内の特定のパターンを抽出できます。
MatchAll関数とは
サブマッチを含め、一致したものを返します。
公式より引用
MatchAll関数は、指定した正規表現パターンに一致するすべての部分文字列をテキストから抽出します。
構文
MatchAll( Text, Pattern [, Options ] )
Text – 必須。 一致するテキスト文字列。
Pattern – 必須。 テキスト文字列として一致するパターン。 Match 列挙型が定義する事前定義済みのパターンを連結するか、正規表現を提供します。 Pattern は、変数、データソース、またはアプリの実行中に変化するその他の動的参照のない定数式である必要があります。
Options – 任意。 MatchOptions 列挙値を組み合わせたテキスト文字列。 既定では、MatchOptions.Complete が使用されます。
MatchAll関数は、指定したテキスト内で正規表現パターンに一致するすべての部分文字列を見つけ、それらをリストとして返します。この関数を使用することで、テキスト内のすべての一致を抽出できます。
事前定義済みパターン
第二引数に入力できる事前定義済みパターンの一覧です。&で接続することでパターンを組み合わせることができます。
この表を覚えるよりも正規表現を覚えましょう。
Match 列挙型 | 内容 | 正規表現 |
---|---|---|
Any | 任意の文字と一致します。 | . |
Comma | コンマと一致します。 | , |
Digit | 1 桁の数と一致します ("0"~"9")。 | \d |
メール | "at" 記号 ("@") およびドット (".") が付いたドメイン名が含まれている電子メール アドレスと一致します | .+\@.+\\.[^\\.]{2,} |
Hyphen | ハイフンと一致します。 | \- |
LeftParen | 左かっこ "(" と一致します。 | \( |
Letter | 文字と一致します。 | \p{L} |
MultipleDigits | 1 桁以上の数と一致します。 | \d+ |
MultipleLetters | 1 つ以上の文字と一致します。 | \p{L}+ |
MultipleNonSpaces | 空白 (スペース、タブまたは改行) を追加しない 1 つ以上の文字と一致します。 | \S+ |
MultipleSpaces | 空白 (スペース、タブ、または改行) を追加する 1 つ以上の文字と一致します。 | \s+ |
NonSpace | 空白を追加しない 1 文字と一致します。 | \S |
OptionalDigits | 0、または 1 桁以上の数と一致します。 | \d* |
OptionalLetters | 0 または 1 文字以上と一致します。 | \p{L}* |
OptionalNonSpaces | 空白文字を追加しない 0 または 1 文字以上と一致します。 | \S* |
OptionalSpaces | 空白文字を追加する 0 または 1 文字以上と一致します。 | \s* |
Period | ピリオドまたはドット (「.」) と一致します。 | \. |
RightParen | 右かっこ ")" と一致します。 | \) |
Space | 空白を追加する 1 文字と一致します。 | \s |
Tab | タブの文字と一致します。 | \t |
使い方
テキスト入力コントロールのバリデーションチェック(IsMatch関数)
以下のようなバリデーションチェックを実装することができます。
If(
!IsMatch(TextInput1.Text, Match.Email),
"メールアドレスを入力してください。"
)
コメント