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
Для просмотра документации необходимо авторизоваться на сайте