wildcardPattern

Соответствия как немного символов любого типа

Описание

пример

pat = wildcardPattern создает шаблон, который соответствует как немногие из любых символов по мере необходимости, включая нулевые символы. wildcardPattern лениво, означая, что, если используется самостоятельно без любых входных параметров это совпадает с пустыми строками ("") прежде или после символов в строках.

пример

pat = wildcardPattern(N) создает шаблон, который совпадает точно с N 'characters'.

пример

pat = wildcardPattern(minCharacters,maxCharacters) соответствия, по крайней мере, minCharacters и не больше, чем maxCharactersInf допустимое значение для maxCharacters. wildcardPattern совпадает с количеством символов как близко к minCharacters как возможный.

пример

pat = wildcardPattern(___,"Except",exceptPat) задает исключения, чтобы исключить из соответствия. wildcardPattern соответствия любой символ кроме заданных шаблоном exceptPat.

Примеры

свернуть все

Функциональный wildcardPattern лениво, что означает, что это соответствует как немного символов любого вида по мере необходимости, даже обнулите.

Извлеките wildcardPattern от строки. Существуют пустые строки между любыми двумя последовательными символами в строке, а также перед первым символом и после последнего. Именно поэтому extract соответствия и извлечения пять пустых строк от этой строки.

txt = "lazy";
emptyStr = extract(txt,wildcardPattern)
emptyStr = 5x1 string
    ""
    ""
    ""
    ""
    ""

strlength(emptyStr)
ans = 5×1

     0
     0
     0
     0
     0

Если wildcardPattern ограничен другими шаблонами, это совпадает с минимальным количеством символов для выражения шаблона, чтобы соответствовать.

txt = "aa aba abaa a a123a a!?.a";
pat = "a" + wildcardPattern + "a";
extract(txt,pat)
ans = 6x1 string
    "aa"
    "aba"
    "aba"
    "a a"
    "a123a"
    "a!?.a"

Используйте wildcardPattern совпадать с отдельными символами всех типов.

Считайте текст из Сонетов Шекспира с fileread функционируйте и преобразуйте его в string.

sonnets = string(fileread('sonnets.txt'));
strip(extractBetween(sonnets,"Shakespeare","But"))
ans = 
    "I
     
       From fairest creatures we desire increase,
       That thereby beauty's rose might never die,"

Создайте шаблон, pat, это совпадает с одним символом любого типа. Извлеките шаблон. Преобразуйте string массив characters к categorical так, чтобы это был допустимый вход для histogram. Отобразите случаи каждого символа с помощью histogram.

pat = wildcardPattern(1);
characters = extract(sonnets,pat);
characters = lower(characters);
characters = categorical(characters);
histogram(characters)

Figure contains an axes. The axes contains an object of type categoricalhistogram.

Создайте txt как строка. Создайте шаблон, который совпадает с пробелом, сопровождаемым двумя - тремя подстановочными символами, сопровождаемыми буквой. Извлеките шаблон из txt.

txt = "1a 23b 456c 7890d";
pat = " " + wildcardPattern(2,3) + lettersPattern;
extract(txt,pat)
ans = 2x1 string
    " 23b"
    " 456c"

Разделите список, разделенный запятыми при помощи wildcardPattern.

Создайте txt как строка. Создайте шаблон с помощью wildcardPattern это соответствует как много символов любого типа кроме "," сопровождаемый пробельными символами. Извлеките шаблон.

txt = "1 fish, 2 Fish, [1,0,0] fish, [0,0,1] fish";
exceptPat = "," + whitespacePattern;
pat = asManyOfPattern(wildcardPattern(1,inf,"Except",exceptPat),1);
extract(txt,pat)
ans = 4x1 string
    "1 fish"
    " 2 Fish"
    " [1,0,0] fish"
    " [0,0,1] fish"

Входные параметры

свернуть все

Количество символов, чтобы соответствовать в виде неотрицательного целочисленного скаляра.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Минимальное количество символов, чтобы соответствовать в виде неотрицательного целочисленного скаляра.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Максимальное количество символов, чтобы соответствовать в виде неотрицательного целочисленного скаляра.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Исключение к подстановочному знаку, соответствующему в виде объекта шаблона, вектора символов или строкового скаляра. wildcardPattern будет совпадать с любым символом кроме соответствий к этому заданному исключению.

Пример: pat = wildcardPattern("except",digitsPattern) создает шаблон, который исключает символы цифры.

Типы данных: pattern | char | string

Выходные аргументы

свернуть все

Выражение шаблона, возвращенное как pattern объект.

Введенный в R2020b