正規表現の使用

正規表現(regex)を使用して、エンタープライズ・アプリケーションの複数のURLを表し、同じ認証ポリシーおよび同じ認可ポリシーを適用できるURLパターンを定義します。

アプリケーションのすべてのURLのリストを作成し、類似したURLをマップするURLパターンを定義します。URLパターンでは、共通の認証ポリシーおよび認可ポリシーを定義します。

アプリケーション・ゲートウェイの認可エンジンでは、正規表現の作成に使用できるすべてのトークンがサポートされます(文字クラス、アンカー、エスケープ文字、グループと参照、先読み/後読み、量指定子と選択、置換など)。

次に、アプリケーション・ゲートウェイの認可エンジンでサポートされる一般的な演算子のリストを示します:
アプリケーション・ゲートウェイの認可エンジンでサポートされる一般的な正規表現演算子
演算子 説明
任意の1文字に一致する演算子(.) ピリオド文字は、この演算子を表します。 a.bは、aで始まりbで終わる3文字の文字列に一致します
ゼロ個以上と一致する演算子(*) この演算子は、必要な回数(ゼロを含む)だけ直前の最小の正規表現を繰り返してパターンに一致します a*は、ゼロ個以上のaで構成された任意の文字列に一致します。別の例をあげると、fo*oの繰返しを示します(foの繰返しではありません)。したがって、fo*ffofooなどに一致します。
1個以上に一致する演算子(+) この演算子は、ゼロ個以上に一致する演算子に似ていますが、直前の正規表現を少なくとも1回繰り返します。 ca+rは、carおよびcaaaarに一致しますが、crには一致しません
ゼロ個または1個に一致する演算子(?) この演算子は、ゼロ個以上に一致する演算子に似ていますが、直前の正規表現を1回繰り返すか、まったく繰り返しません。 ca?rは、carcrの両方に一致しますが、それ以外には一致しません。
否定(^) 式を否定します。 ^aは、a以外の任意の文字に一致します
グループ化演算子((...)) 正規表現は、数学言語およびプログラミング言語がカッコで囲まれた式を1つの単位として処理するように、カッコ内の式を処理します。式は、カッコ外の式より前に処理されます。 f(a|b)aは、faaおよびfbaに一致します。つまり、演算a|bは、残りの部分より前に処理されます。
代替演算子(|) 選択は、正規表現の選択肢のいずれかに一致します: 2つの正規表現abの間に選択演算子を表す1個以上の文字を配置すると、結果はaおよびbが一致する文字列の和集合に等しくなります。

foo|bar|quuxは、foobarまたはquuxのいずれかに一致します

別の例として、(および)は開始と終了のグループ演算子ですが、fo(o|b)arfooarまたはfobarに一致します。これとは別に、foo|barfooまたはbarに一致します

リスト演算子([ ... ]および[^ ... ])

一致リストは、リスト項目のいずれかによって表される1個の文字に一致します。項目は、文字、文字クラス式または範囲式です。

非一致リストは、一致リストに似ていますが、リスト項目のいずれかによって表されない1個の文字に一致します。

[ab]は、aまたはbに一致します。[ad]*は、空の文字列と、任意の順序のaおよびdで構成された文字列に一致します。

非一致の例として、[^ab]は、aまたはb以外の任意の文字に一致します。

範囲演算子(-) 現在の照合順序において2つの要素の間にある文字を表します。 [a-f]は、aからfまでのすべての文字(両端を含む)を表します。
数字(\d) 任意の数字(0-9)に一致します。 [0-9]と同じです
数字以外(\D) 数字(0-9)以外の任意の文字に一致します。 [^0-9]と同じです
エスケープ(\) 式の次の文字がその文字自体を意味し、演算子を意味しないようにします。 \.は、ピリオドを意味し、任意の1文字に一致する演算子を意味しません。

正規表現の使用

たとえば、パス/mybankの下位にあるmyで始まるアプリケーションの任意のページに対するアクセスを、認証されたユーザーのみに許可する場合、正規表現/mybank/my.*を使用できます

ドット(.)とアスタリスク(*)の組合せは、接頭辞myの後に連続するゼロ個以上の一連の文字を表します。

この例では、URL /mybank/myCreditsおよび/mybank/myDebits/mybank/my.*パターンに一致しますが、/mybank/aboutは一致しません。