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