正規表現の使用に関する情報は、完全一致プロパティーをパターンに置換するを参照してください。
値を正規表現に変換する際に、正規表現エバリュエーターを使用して、編集中にテストできます。
以下の例は、正規表現の代表的な使用例です。
固定
『一般例』以降のすべての例は、固定されていません。 正規表現エバリュエーターでは、デフォルトではパターンは固定されません。したがって、ストリング中のどこでもパターンを使用できます。 ストリング中に他の文字も使用できます。 ほとんどのソフトウェア・プログラムでは、固定した場合の作業方法は検索機能と同じです。つまり、テキストを単独で検索するか、他のテキスト中にネストして検索します。 固定する場合は、以下の構文を使用します。
^ string$
"^" および "$" は、ストリング中の文字を固定します。 "^" が先頭にある場合はストリングの先頭を表し、"$" が末尾にある場合は末尾を表します。 "^" 文字がパターン中の先頭文字である場合のみ、この特殊な意味になります。また "$" がパターン中の最後の文字である場合のみ、この特殊な意味になります。
例えば、プロパティー値に特定の文字ストリングがあるかどうか検査する場合、そのストリングを固定していることを確認してください。 顧客の注文が 1 つのみの場合は注文用紙のラベルが "Order" で、顧客の注文が複数の場合は "Orders" の場合に、この顧客の注文が 1 つのみであることを確認したいとします。 ラベルのテキスト・プロパティーで、以下のように値を正規表現に変更してください。
^Order$
この場合、一致する値は "Order" のみです。 "Orders" は一致しません。
一般例
メモ帳
「メモ帳」などのアプリケーションが開かれたかどうか判別するとします。 表題プロパティーに正規表現を使用して、バナーに "メモ帳" という語があるかどうか検査できます。 このパターンの場合は、"メモ帳" という言葉が値の中のどこかにある必要があります。 表題のテキスト・プロパティーが "Report.txt - メモ帳" (メモ帳が Report.txt というファイルを開いているという意味) の場合、ストリング "メモ帳" が含まれているのでパターンは一致します。
デフォルトの動作は、できるだけ長いストリングに含まれる値に一致するというものです。 文字のセットが完全に一致するように突き合わせるには、前述の固定タグを使用してください。
大/小文字の区別
[cC]ustomer
このパターンを使用すると、"customer" という語のうち、"c" が大文字または小文字のものを含むテキストが合格します。 比較操作では、デフォルトでは大/小文字が区別されるため、この点は重要です。
正規表現エバリュエーターで、大/小文字の区別に関するオプションを設定できます。 「大/小文字を区別した突き合わせの実行」オプションがデフォルトです。突き合わせは大/小文字の区別があり、上記の例が有効です。 大/小文字を無視するには、チェック・ボックスをクリアします。 オブジェクト・マップのインターフェースか、検査ポイント・エディターおよびコンパレーターでも、大/小文字の区別を設定することができます。 これらのツールで、正規表現値を右クリックすると、ショートカット・メニュー内で「大/小文字の区別のある正規表現」をクリックできます。
任意の 1 文字
payment.method
ストリング中の任意の 1 文字を指示するには、"." を使用します。 英字や他の正当な文字に加えて、スペースや数表示でもかまいません。 この例の場合なら、"payment method" と "payment0method" の両方とも一致します。
ゼロ以上の反復文字
fo*bar
ゼロ個以上の直前の文字を示すには、"*" 文字を使用します。 この例では、"fbar" が合格し、"fobar"、"foobar"、および "fooooobar"も合格します。
1 つ以上の反復文字
fo+bar
任意の個数の直前の文字を示すには、"+" 文字を使用します。 この文字と "*" 文字の違いは、"+" を使用する場合は 1 文字以上なければならないことです。 それで、"fbar" はこのパターンに一致しませんが、"fobar"、"foobar"、および"fooooobar" は一致します。
ゼロまたは 1 個の反復文字
fo?bar
このパターンの場合は、シンボルの前の文字がない場合か 1 文字がある場合が合格します。"fbar" と "fobar" の 2 つのストリングのみこの構文に一致します。
ワイルドカード
Customer.*Order
ワイルドカードの突き合わせには、"." と "*" 文字を使用します。 このパターンを使用すると、任意の数の任意の文字が現れて構わなくなります。 例えば、アプリケーションがこのプロパティー中のこれらの 2 つの語の間にスペースを挿入したりしなかったりする場合、この構文はどちらの場合とも一致します。
セット中の任意の一文字
Form[ABC]
このパターンを使用すると、語 "Form" の後に大括弧中のいずれかの文字が続いたものが一致します。 アプリケーション中のフィールドに、使用されている書式がリストされている場合、この正規表現を使用して、ストリング "FormA"、"FormB"、または "FormC" を突き合わせることができます。
任意の数のセット中の文字
Form[ABC]*
語 "Form" の後に大括弧中のいずれかの文字が任意の個数続いたものが、この正規表現と一致するという意味です。 使用されている書式をリストするフィールドがアプリケーション中にある場合、上記の例 "FormA"、"FormB"、または "FormC" はこのパターンでも合格です。 さらに、"FormAA" や "FormCCC"など同一文字が複数あるものや、"Form" のみでも一致します。
以外の任意の一文字
Form[^BE]
この構文を使用すると、語 "Form" の後に "B" または "E" 以外の文字が続いたものが一致します。 例えば、"FormA"、"FormC"、および "FormG" は合格ですが、"FormB" や "FormE" は合格しません。
英数字のセット
Form[A-G]
連続する英字の範囲を指定できます。 この構文の場合、"FormA"、"FormB"、"FormC"、"FormD"、"FormE"、"FormF" および "FormG" は合格ですが、"FormH" や "FormM" は合格しません。 英数字の範囲は大/小文字が区別されます。 "Forma" は合格しません。 この範囲の大文字と小文字の両方を突き合わせるには、"Form[a-gA-G]" の構文を使用します。 標準的な英語のアルファベットに含まれる任意の英字と突き合わせるには、大文字と小文字の両方で全範囲を指定した "Form[a-zA-Z]" を使用します。
論理 OR
OK|Cancel
「OK」、「Cancel」、および「Help」の 3 つのボタンが表示されるダイアログ・ボックスがあるとします。 正しいボタンがクリックされたか検査するには、ボタン・ラベルのプロパティーに正規表現を使用します。 「OK」または「Cancel」がクリックされたが「Help」がクリックされていないことを確認するには、上記の構文を使用できます。
グループ式
My (purple|blue|green) kite
グループ中のすべてのエレメントを扱うには、グループ式を使用します。 例えば、演算子をグループに適用するか、またはグループの個々のメンバーの前または後の特定のストリングを検索するには、グループ式を使用します。 小括弧で演算子をグループ化し、"|" を使用してエレメントを区切ります。この例では、"My purple kite"、"My blue kite"、および "My green kite" が式に一致します。 "My red kite" や "My kite" は一致しません。
文字クラス
正規表現に複数の文字クラスを使用できます。
¥d 任意の数字
¥D 数字以外
¥s スペース文字
(スペース、タブ、改行、または復帰などの単一の空白文字)
¥S スペース文字以外
¥w 任意の単語文字 (任意の英字、数字、または "_")
英語以外の言語の文字を突き合わせます。
¥W 単語文字以外
発注番号に一致させるとします。 例:
Order¥d
この構文は、語 "Order" の後に一桁の数字が続いたものを突き合わせます。 語 "Order" のみでは一致しません。 一致するものの例は、"Order5"、"Order3"、および "Order0" です。 "Order 3" は一致しません。
Order¥d+
複数の数字を使用するには、このパターンを使用します。 ¥d+ は 1 つまたは複数の数字の意味です。 例えば、"Order77" や "Order235" がこのパターンに一致します。
Form¥S
語 "Form" の後にスペース以外の任意の文字が続いたものが一致します。 語 "Form" の後に英字がない場合は一致しないので、アプリケーション中の書式ラベルに書式を示す英字があるか検査する必要がある場合にこのパターンでテストできます。 例えば、"FormB" と "FormX" は一致します。 "Form" と "Form " は一致しません。
他の文字クラスも、上記の例と同じ方法で働きます。
特殊文字
これらの例は、特定の特殊文字を使用します。 これらの文字は、正規表現中ではリテラル文字として読み取られず、演算子として読み取られます。 以下の文字が含まれます。
.
+
?
\
*
^
|
-
(", ")
[
]
正規表現中でこれらの文字を使用する場合は、その文字の前に "¥" を付けてエスケープしなければなりません。 例えば、ラベルのテキスト中で小括弧を使用する必要がある場合は、以下のテキスト・プロパティーを使用できます。
Orders ¥(shipped¥)
この場合、ラベル "Orders (shipped)" が一致します。 検査ポイント・エディターまたはオブジェクト・マップで値を正規表現に変換する際に、元の値にこれらの文字のいずれかが含まれている場合は、Functional Tester はその文字をエスケープします。