exponenta event banner

asManyOfPattern

Совпадение шаблона как можно больше раз

Описание

пример

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

пример

newpat = asManyOfPattern(pat,minPattern) указывает минимальное количество последовательных экземпляров, которые должны соответствовать minPattern.

пример

newpat = asManyOfPattern(pat,minPattern,maxPattern) указывает минимальное и максимальное количество последовательных экземпляров для сопоставления. asManyOfPattern соответствует по крайней мере minPattern последовательных экземпляров, но не более maxPattern.

Примеры

свернуть все

Использовать asManyOfPattern для соответствия как можно большему количеству отдельных букв между двумя экземплярами "b".

Создать txt в виде строки. Создать образец, pat, что соответствует количеству букв "a" или "b" по возможности между двумя экземплярами символа "b".

txt = "bb bab babab babaaabab";
pat = "b" + asManyOfPattern("a"|"b") + "b";

Использовать replace для замены текста, сопоставленного с pat с символом "*".

replace(txt,pat,"*")
ans = 
"* * * *"

Использовать asManyOfPattern для соответствия как можно большему количеству отдельных букв между двумя экземплярами "b", но требуют не менее трёх букв.

Создать txt в виде строки. Создать образец, pat, что соответствует количеству букв "a" или "b" по возможности между двумя экземплярами символа "b" но укажите, что должно быть не менее трех соответствующих букв.

txt = "bb bab babab babaaabab";
pat = "b" + asManyOfPattern("a"|"b",3) + "b";

Использовать replace для замены текста, сопоставленного с pat с символом "*".

replace(txt,pat,"*")
ans = 
"bb bab * *"

Использовать asManyOfPattern для соответствия как можно большему количеству отдельных букв между двумя экземплярами "b", но требуют не менее трёх и не более четырёх букв.

Создать txt в виде строки. Создать образец, pat, что соответствует количеству букв "a" или "b" по возможности между двумя экземплярами символа "b", но указать, что должно быть не менее трех и не более четырех соответствующих букв.

txt = "bb bab babab babaaabab";
pat = "b" + asManyOfPattern("a"|"b",3,4) + "b";

Использовать replace для замены текста, сопоставленного с pat с символом "*".

replace(txt,pat,"*")
ans = 
"bb bab * ba*ab"

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

свернуть все

Входной шаблон, заданный как pattern, строковый массив, символьный вектор или массив ячеек символьных векторов.

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

Минимальное число последовательных экземпляров для сопоставления, указанное как неотрицательный целочисленный скаляр.

Типы данных: single | double

Максимальное число последовательных экземпляров для сопоставления, указанное как неотрицательный целочисленный скаляр.

Типы данных: single | double

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

свернуть все

Выходной шаблон, возвращаемый как pattern или массив объектов массива.

Представлен в R2020b