- Справка 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 2025.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 >> |