- Справка Scilab
- Строки
- ascii
- asciimat
- blanks
- char
- convstr
- emptystr
- eval
- evstr
- grep
- isalphanum
- isascii
- isdigit
- isletter
- isnum
- justify
- length
- part
- prettyprint
- 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 — поиск положения символьной строки в другой строке
История
| Version | Description | 
| 5.4.0 | Добавлен новый выходной аргумент, foundString, для получения соответствий элементам шаблона. | 
| Report an issue | ||
| << prettyprint | Строки | sci2exp >> |