- Справка Scilab
- Строки
- ascii
- asciimat
- blanks
- char
- convstr
- emptystr
- eval
- evstr
- grep
- isalphanum
- isascii
- isdigit
- isletter
- isnum
- justify
- length
- part
- prettyprint
- regexp
- sci2exp
- strcat
- strchr
- strcmp
- strcmpi
- strcspn
- strindex
- string
- strings
- stripblanks
- strncpy
- strrchr
- strrev
- strsplit
- strspn
- strstr
- strsubst
- strtod
- strtok
- tokenpos
- tokens
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
grep
поиск соответствий строки в векторе строк
Синтаксис
row = grep(haystack, needle ) [row, which] = grep(haystack, needle ) row = grep(haystack, needle, [flag]) [row, which] = grep(haystack, needle, [flag])
Аргументы
- haystack
вектор-строка символьных строк.
- needle
символьная строка или вектор-строка символьных строк. Строка (строки), которая ищется в
haystack.- row
вектор индексов: строка, где было найдено соответствие или пустая матрица, если соответствие не найдено.
- which
вектор индексов: индекс найденной строки
needleили пустая матрица, если соответствия не найдено.- flag
символ (
"r"для регулярного выражения).
Описание
Для каждого элемента haystack функция grep
ищет соответствие подстроки со строкой в needle.
Индекс элементов haystack, где было найдено
соответствие, возвращается в выходном аргументе
row. Необязательный выходной аргумент
which даёт индекс первого найденного строкового
значения в needle.
Когда используется третий параметр flag="r",
то ожидается, что needle будет строкой
регулярного выражения. В этом случае grep
использует needle в качестве регулярного
выражения и сравнивает его с haystack в
соответствии с правилами регулярного выражения. См. подробности по регулярным выражениям в функции regexp.
Пример №1
В следующем примере мы ищем одну или две строки в тексте, который
хранится в переменной txt.
txt=['поиск соответствий строк в векторе строк' 'поиск положения символьной строки в другой строке' 'Сравнение Строк']; grep(txt,'строк') grep(txt,['строк' 'Строк']) [r,w]=grep(txt,['строк' 'Строк'])
Пример №2
В следующем примере выполняется поиск с помощью регулярных выражений.
str = ["hat";"cat";"hhat";"chat";"hcat";"ccchat";"at";"dog"] grep(str,'/[hc]+at/','r') grep(str,'/[hc]?at/','r') grep(str,'/cat|dog/','r')
Смотрите также
| Report an issue | ||
| << evstr | Строки | isalphanum >> |