exponenta event banner

wildcardPattern

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

Описание

пример

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

пример

pat = wildcardPattern(N) создает образец, который точно соответствует N персонажи.

пример

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

пример

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

Примеры

свернуть все

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

Извлечь a 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