<< prettyprint Строки sci2exp >>

Scilab Help >> Строки > regexp

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"

Смотрите также

История

VersionDescription
5.4.0 Добавлен новый выходной аргумент, foundString, для получения соответствий элементам шаблона.

Report an issue
<< prettyprint Строки sci2exp >>