Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

optionalPattern

使模式匹配可选

说明

示例

newpat = optionalPattern(pat) 创建尽可能与 pat 匹配的模式,但不匹配 pat 的模式表达式也可以成功匹配。将此函数与其他模式函数结合使用,可以构建在匹配要求方面更加灵活的模式。

示例

全部折叠

使用 optionalPattern 将模式指定为可选匹配。

创建字符串 txt 变量。创建一个模式 pat,该模式匹配 "foo",并且可以选择匹配 "bar",条件是其前面有 "foo"。提取该模式。

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、字符串数组、字符向量或字符向量元胞数组。

数据类型: char | string | pattern | cell

输出参数

全部折叠

输出模式,以pattern或模式对象数组形式返回。

在 R2020b 中推出