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


regexp

в строке найдите (и распакуйте) подстроки, соответствующие регулярному выражению

Синтаксис

[start, final, match, foundString] = regexp(input, pattern)
[start, final, match, foundString] = regexp(input, pattern, "once")

Аргументы

input

символьная строка.

pattern

символьная строка, шаблон (по правилам регулярных выражений).

start

начальный индекс каждой подстроки input, которая соответствует строке регулярного выражения pattern.

end

конечный индекс каждой подстроки input, которая соответствует строке регулярного выражения pattern.

match

текст каждой подстроки input, которая соответствует шаблону pattern.

foundString

текст, выделенный элементами шаблона, заключёнными в скобки.

флаг "once | "o"

'o' только для одного совпадения с образцом.

Описание

Правила регулярного выражения схожи с языком Perl. Для быстрого старта смотрите http://perldoc.perl.org/perlrequick.html. Для более глубокого изучения смотрите http://perldoc.perl.org/perlretut.html, а для справки смотрите http://perldoc.perl.org/perlre.html.

Отличие от Perl заключается в том, что соответствие позиции, а не символа (например, с /^/ или /(?=o)/) будет успешным в Perl, но не в Scilab'е.

Примеры

regexp('xabyabbbz','/ab*/','o')
regexp('a!','/((((((((((a))))))))))\041/')
regexp('ABCC','/^abc$/i')
regexp('ABC','/ab|cd/i')
[a b c]=regexp('XABYABBBZ','/ab*/i')

piString="3.14"
[a,b,c,piStringSplit]=regexp(piString,"/(\d+)\.(\d+)/")
disp(piStringSplit(1))
disp(piStringSplit(2))

[a,b,c,d]=regexp('xabyabbbz','/ab(.*)b(.*)/')
size(d)

// получение имени сервера из URL
myURL="https://www.scilab.org/download/";
[a,b,c,d]=regexp(myURL,'@^(?:http://)?([^/]+)@i')

str='foobar: 2012';
// использование именованных элементов шаблона
[a,b,c,d]=regexp(str,'/(?P<name>\w+): (?P<digit>\d+)/')
d(1)=="foobar"
d(2)=="2012"

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

  • strindex — поиск положения символьной строки в другой строке

История

ВерсияОписание
5.4.0 Добавлен новый выходной аргумент, foundString, для получения соответствий элементам шаблона.
Report an issue
<< prettyprint Строки sci2exp >>

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:
Mon Jun 17 17:55:07 CEST 2024