поиск подстроки, соответствующей строке регулярного выражения
[start] = regexp(input, pattern, [flag]) [start, end] = regexp(input, pattern, [flag]) [start, end, match] = regexp(input, pattern, [flag]) [start, end, match, foundString] = regexp(input, pattern, [flag])
символьная строка.
символьная строка, шаблон (по правилам регулярных выражений).
начальный индекс каждой подстроки
input
, которая соответствует строке
регулярного выражения pattern
.
конечный индекс каждой подстроки
input
, которая соответствует строке
регулярного выражения pattern
.
текст каждой подстроки input
,
которая соответствует шаблону pattern
.
текст, выделенный элементами шаблона, заключёнными в скобки.
'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="http://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" | ![]() | ![]() |
Version | Description |
5.4.0 | Добавлен новый выходной аргумент, foundString, для получения соответствий элементам шаблона. |