Main Content

optionalPattern

パターンの一致をオプションにする

説明

newpat = optionalPattern(pat) は、可能であれば pat に一致するパターンを作成しますが、パターン式が正常に一致するために pat の一致は必須ではありません。この関数は、一致の要件がより柔軟なパターンを作成するために、他のパターン関数と組み合わせて使用されます。

すべて折りたたむ

optionalPattern を使用して、一致が必須ではないパターンを指定します。

txt を string として作成します。"foo" に一致し、オプションで "foo" に後続する "bar" に一致するパターン pat を作成します。パターンを抽出します。

txt = "foo bar foobar";
pat = "foo" + optionalPattern("bar");
extract(txt,pat)
ans = 2x1 string
    "foo"
    "foobar"

"@" に後続する文字とピリオドの組み合わせに一致するパターンを作成します。optionPattern を使用して、サブドメインが存在する場合、サブドメインに一致させます。pat の他の条件が満たされていれば、サブドメインが存在しなくても、optionalPattern の一致は妨げられません。パターンを抽出します。

emails = ["Sue_B@nonprofit.org"
          "JohnDRoc12@business.com"
          "R.Franklin@biology.university.org"];
pat = lookBehindBoundary("@") + optionalPattern(lettersPattern + ".") + lettersPattern + "." + lettersPattern;
domains = extract(emails,pat)
domains = 3x1 string
    "nonprofit.org"
    "business.com"
    "biology.university.org"

入力引数

すべて折りたたむ

入力パターン。pattern、string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。

データ型: char | string | pattern | cell

出力引数

すべて折りたたむ

出力パターン。patternまたは pattern オブジェクトの配列として返されます。

バージョン履歴

R2020b で導入