textmatch関数を使用するにはどうすればよいですか?
textmatch これは、指定された正規表現を、指定された文字列属性に対して評価する関数です。文字列にパターンが含まれている場合はtrueを返します。エスケープするには二重バックスラッシュ (\\) を使用します。
Syntax:
textmatch(string_attribute, regex_pattern)
例:
azuread oauth2permissiongrant should-not-have textmatch(scope, "AppRoleAssignment.ReadWrite.All") = true
Regular Expression Constraints used with textmatch:
-
^ : 文字列の先頭で一致をチェックします
Example String Pattern Match 注記 abc ^a はい 文字列の先頭にアルファベット「a」が含まれているため、一致は成功です。 bac ^a いいえ
文字列の先頭にアルファベット「a」が見つからないため、一致は失敗しました。^ 表で使う正規表現制約 -
$ : 文字列の末尾で一致をチェックします
| Example String | Pattern | Match | 注記 |
| abc | a$ | いいえ | 文字列の末尾にアルファベット「a」が見つからないため、一致は失敗しました。 |
| bac | c$ | はい | 文字列の先頭にアルファベット「c」が含まれているため、一致は成功です。 |
Metacharacters used with textmatch:
-
| 要素間の交替または選択。
Example String Pattern Match 注記 a a|b はい パターン「a|b」に「a」という文字列が含まれているため、マッチングは成功します。 a c|d いいえ パターン「c|d」には「a」という文字列が含まれていないため、マッチングは失敗しました。 | テーブル内で使う正規表現制約 -
[ ] : 文字クラスを指定します。
-
リスト内の2つの文字が「-」で区切られている場合、それはその2つの文字間の全範囲を表す省略形です。
-
リストが^で始まる場合、リストの残りの部分に含まれていない任意の1文字に一致します。
Example String Pattern Match 注記 a [abc] はい パターンの中に「a」が含まれているため、マッチングは成功です。 d [abc] いいえ パターンに「d」が含まれていないため、一致は失敗しました。 5 [0-9] はい 0から9までの10進数の中に「5」が含まれているため、一致は成功です。 a [a0-9] はい 一致が成功した理由は、「a」が「a」と0から9までの10進数の数列のパターンに含まれているためです。 z [a-z0-9] はい 一致が成功した理由は、「z」がaからzまでの文字と0から9までの10進数の数字列のパターンに含まれているためです。 A [^a-z0-9] はい 文字列が小文字のaからzの英字、または0から9の10進数以外の任意の文字であるため、一致は成功します。 [] テーブル内で使用する正規表現制約
-
-
* : 一致なしから複数一致までのシーケンスを検索します
Example String Pattern Match 注記 x x* はい パターンの中に「x」が含まれているため、マッチングは成功です。 a x* はい パターン内に「x」が見つからないため、マッチングは成功です。 xxxx x* はい パターンの中に「x」が複数回出現するため、マッチングは成功です。 * テーブル内で使用する正規表現制約 -
+ : 1つ以上のマッチのシーケンス
Example String Pattern Match 注記 x x+ はい パターンの中に「x」が含まれているため、マッチングは成功です。 a x+ no パターンに「x」が見つからないため、一致は失敗しました。 xxxx x+ はい パターンの中に「x」が複数回出現するため、マッチングは成功です。 + テーブル内で正規表現制約を使う -
?:一致するものがゼロまたは1つだけのシーケンス
Example String Pattern Match 注記 x x? はい パターンの中に「x」が含まれているため、マッチングは成功です。 a x? はい パターン内に「x」が見つからないため、マッチングは成功です。 xxxx x? はい パターンの中に「x」が含まれているため、マッチングは成功です。 ?テーブル内で使用する正規表現制約 -
{m} : 原子の正確に m 個の一致のシーケンス
Example String Pattern Match 注記 x x{2} no パターン内に「x」が2回出現しないため、一致は失敗しました。 xx x{1} はい パターン内に「x」が1回出現したため、マッチングは成功しました。 a x{0} はい 試合は成功裏に終了した。{0} は「x」を無視させ、パターンは実質的に空文字列になります。 {m} テーブル内で使用する正規表現制約 -
{m,} : m 個以上のマッチのシーケンス
Example String Pattern Match 注記 x x{1,} はい パターン内に「x」が1回出現したため、一致は失敗しました。 x x{2,} no パターン内に「x」が2回出現しないため、一致は失敗しました。 x x{0,} はい 試合は成功裏に終了した。{0} は「x」を無視させ、パターンは実質的に空文字列になります。 {m,} テーブル内で使用する正規表現制約 -
{m, n} : mからn(両端を含む)までのマッチのシーケンス。mはnを超えることはできない。
Example String Pattern Match 注記 x x{1,2} はい 文字列に「x」が含まれており、パターンでは同じ文字列に一致することが求められているため、一致は成功します。 x x{2,3} no 文字列には「x」しか含まれていないのに対し、パターンでは少なくとも「xx」が含まれている必要があるため、一致しません。 xxxx x{1,2} はい 文字列に「xx」が含まれており、パターンでは同じ文字列に一致することが求められているため、一致は成功します。 {m,n} テーブル内で使用する正規表現制約 クラスの省略形エスケープ
textmatchの場合:
| \\d | Match any digit |
| \\s | 任意の空白文字に一致します |
| \\w | 任意の単語文字に一致します |
| \\D | Match any non-digit |
| \\S | 空白以外の任意の文字に一致します |
| \\W | 単語以外の文字に一致します |

