поиск соответствий строки в векторе строк
[row, which] = grep(haystack, needle ) [row, which] = grep(haystack, needle, "regexp" )
вектор-строка символьных строк.
символьная строка или вектор-строка символьных строк.
Строка (строки), которая ищется в haystack.
вектор индексов: строка, где было найдено соответствие или пустая матрица, если соответствие не найдено.
вектор индексов: индекс найденной строки
needle или пустая матрица, если
соответствия не найдено.
одиночный символ: тогда элементы needle используются как
регулярные выражения.
Для каждого элемента 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
В следующем примере выполняется поиск с помощью регулярных выражений.