Main Content

matlab.unittest.constraints.Matches クラス

パッケージ: matlab.unittest.constraints
スーパークラス: matlab.unittest.constraints.BooleanConstraint

正規表現と一致する string を指定する制約

構築

Matches(expr) は、string スカラーまたは文字ベクトルが正規表現と一致することを指定する制約を作成します。この制約は、実際の値が特定の正規表現 expr と一致する場合にのみ満たされます。

Matches(expr,Name,Value) は、1 つ以上の Name,Value のペアの引数で指定された追加オプションをもつ制約を提供します。Name は一重引用符 ('') で囲まれていなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

入力引数

expr

制約を満たすために実際の値が一致しなければならない正規表現。string スカラーまたは文字ベクトルとして指定します。expr には、改行文字を含めることができます。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

IgnoringCase

大文字小文字の区別を無視するインジケーター。false または true (logical 0 または 1) として指定します。

既定値: false

WithCount

実際の値が expr と一致しなければならない回数。正の整数として指定します。

プロパティ

Expression

実際の値が一致しなければならない正規表現。入力引数 expr で指定します。

IgnoreCase

制約で大文字と小文字が区別されるかどうかを示すインジケーター。名前と値のペアの引数 'IgnoringCase' で指定します。

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

対話型テスト用にテスト ケースを作成します。

import matlab.unittest.TestCase
import matlab.unittest.constraints.Matches

testCase = TestCase.forInteractiveUse;

実際の値 'Epsilon Eridani''eps' と一致することをテストします。

testCase.verifyThat('Epsilon Eridani', Matches('^eps'));
Verification failed.
    ---------------------
    Framework Diagnostic:
    ---------------------
    Matches failed.
    --> The value does not match the regular expression.
    
    Actual char:
        Epsilon Eridani
    Regular Expression:
        ^eps

制約を満たすために、大文字小文字を区別しないように構成します。

testCase.verifyThat('Epsilon Eridani', Matches('^eps', ...
    'IgnoringCase', true));
Verification passed.

実際の値が一致しなければならない正規表現を定義します。

expr = 'Some[Tt]?ext';

正規表現に含まれる [Tt]? は、'T' または 't' がその位置で 0 回または 1 回一致することを示します。

実際の値 'SomeText' および 'Sometext' が制約を満たすことをテストします。

testCase.verifyThat('SomeText', Matches(expr));
testCase.verifyThat('Sometext', Matches(expr));
Verification passed.
Verification passed.

実際の値 'SomeText Sometext Someext' が正規表現と 3 回一致することをテストします。

testCase.verifyThat('SomeText Sometext Someext', Matches(expr, ...
    'WithCount', 3));
Verification passed.

実際の値 'sometext' が制約を満たさないことをテストします。

testCase.verifyThat('sometext', ~Matches(expr));
Verification passed.