Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.4.1 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Строки > grep

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')

Смотрите также

  • strindex — поиск положения символьной строки в другой строке
  • regexp — поиск подстроки, соответствующей строке регулярного выражения
Report an issue
<< evstr Строки isalphanum >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Apr 02 17:37:57 CEST 2013