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