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