- Справка Scilab
 - Строки
 - ascii
 - asciimat
 - blanks
 - char
 - convstr
 - emptystr
 - eval
 - evstr
 - grep
 - isalphanum
 - isascii
 - isdigit
 - isletter
 - isnum
 - justify
 - length
 - part
 - regexp
 - sci2exp
 - strcat
 - strchr
 - strcmp
 - strcmpi
 - strcspn
 - strindex
 - string
 - strings
 - stripblanks
 - strncpy
 - strrchr
 - strrev
 - strsplit
 - strspn
 - strstr
 - strsubst
 - strtod
 - strtok
 - tokenpos
 - tokens
 
Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
regexp
поиск подстроки, соответствующей строке регулярного выражения
Последовательность вызова
[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
 символьная строка, шаблон (по правилам регулярных выражений).
- start
 начальный индекс каждой подстроки
input, которая соответствует строке регулярного выраженияpattern.- end
 конечный индекс каждой подстроки
input, которая соответствует строке регулярного выраженияpattern.- match
 текст каждой подстроки
input, которая соответствует шаблонуpattern.- foundString
 текст, выделенный элементами шаблона, заключёнными в скобки.
- [flag]
 '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"
Смотрите также
- strindex — поиск положения символьной строки в другой строке
 
История
| Версия | Описание | 
| 5.4.0 | Добавлен новый выходной аргумент, foundString, для получения соответствий элементам шаблона. | 
| Report an issue | ||
| << part | Строки | sci2exp >> |