正規表現の例

正規表現のいくつかの使用例を以下に示します。

例 1: 完全なウィンドウタイトルの識別

アクションステップでは、指定された文字列全体を既存のウィンドウタイトルで見つけることができる場合、正規表現を使用せずにウィンドウタイトルを識別します。前後に文字があるかどうかは関係ありません。

アプリケーションで 2 つの異なるウィンドウが開き、一方のタイトルが他方のタイトルに含まれる場合があります。一般的な例として、​SAP ログオン​アプリケーションを使用してシステムにログインする ​SAP​ が挙げられます。この場合、次の 2 つのウィンドウがデスクトップに表示されます。

SAP の例 - 2 つのウィンドウ

ウィンドウタイトルでテキスト「SAP」を検索しても 2 つの有効な結果が返されるため、タイトルの一部を検索してウィンドウを識別する一般的な方法は機能しません。

この場合、​[Use Regex (正規表現を使用)]​ 機能を有効にして、ウィンドウタイトルの完全一致のみが対象となるようにすることをお勧めします。これを行うには、^[exact_window_name]$ というパターンを使用します。

この特定の例では、正規表現は次のようになります。

正規表現の例

^​ は、ここから表現が開始され、先行する文字がないことを示します。​$​ は、​$​ の前の末尾の文字が表現の最後であることを示します。

例 2: 動的な先頭、中間、末尾の部分が含まれるウィンドウタイトルの識別

一部のアプリケーションでは、最初に独自の名前がウィンドウタイトルに表示され、その後に動的なコンポーネント (セッションやユーザー ID など) が続き、最後にモジュール名などが表示されます。複数のアプリケーションを開いたり、アプリケーション内で複数のモジュールを開いたりする​ワークフロー​もあります。アプリケーションでモジュールが正しく使用されているかどうかをチェックする必要がある場合、常に同じではなく動的な部分に分かれているウィンドウタイトルを識別することが必要になる可能性があります。

そのようなアプリケーションとして ​Microsoft Dynamics AX​ が挙げられます。

Microsoft Dynamics AX の例

タイトルの末尾付近に「cfu」というテキストが含まれる「Dynamics AX」ウィンドウを識別する必要がある場合、次の正規表現を使用できます。

正規表現の例

.*​ を使用すると、「Dynamics AX」という用語の前に任意の文字数の英数字が含まれているものが対象となるため、「Microsoft」という単語が考慮されます。同様に、この例では「Dynamics AX」と「cfu」の間に任意の長さの文字列が含まれているものが対象となります。

しくみ​.​ は、改行を除く 1 文字の英数字を表します。​*​ は、前の文字が無制限に繰り返される可能性のある正規表現を処理するようにソフトウェアに指示する量指定子です。

そのため、最後の ​$​ の前にある末尾の 1 つの ​.​ は、1 文字の英数字 (改行を除く) が存在する必要があることを意味します。

例 3: 大文字/小文字を区別しないウィンドウタイトルの検索/環境変数の使用

一部のウィンドウタイトルには、ログインユーザーの名前などの部分が含まれることがあります。ユーザーが変わる場合 (または最初からユーザーがランダムな場合) に​ワークフロー​を変更する必要がないように、環境変数 ​%Username%​ を使用して実行時にウィンドウを識別することをお勧めします。

アプリケーションのユーザー名に大文字が使用されいるが環境変数で小文字が返される場合があります (例: 「User」と「user」)。

環境変数を使用してウィンドウタイトルを識別する場合、大文字/小文字が重要でないことを確認する必要があります。これを実現するには、正規表現の先頭に ​(?i)​ を使用します。

正規表現の例

この正規表現では、「Document user.txt – Editor」のようなウィンドウタイトルが検索されます。