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 совпадать с субдоменами если существующий. Если субдомен не присутствует, optionalPattern не предотвращает соответствие если другие условия pat соответствуются. Извлеките шаблон.

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