Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.0 - Français

Change language to:
English - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Chaînes de caractères > regexp

regexp

find a substring that matches the regular expression string

Syntax

[start] = regexp(input, pattern, [flag])
[start, final] = regexp(input, pattern, [flag])
[start, final, match] = regexp(input, pattern, [flag])
[start, final, match, foundString] = regexp(input, pattern, [flag])

Arguments

input

a string.

pattern

a character string (under the rules of regular expression).

start

the starting index of each substring of input that matches the regular expression string pattern.

final

the ending index of each substring of input that matches the regular expression string pattern.

match

the text of each substring of input that matches pattern.

foundString

the captured parenthesized subpatterns.

[flag]

'o' for matching the pattern once.

Description

The rules of regular expression are similar to Perl language. For a quick start, see http://perldoc.perl.org/perlrequick.html. For a more in-depth tutorial on, see http://perldoc.perl.org/perlretut.html and for the reference page, see http://perldoc.perl.org/perlre.html

A difference with Perl is that matching a position but no character (for example, with /^/ or /(?=o)/) is a successful match in Perl but not in Scilab.

Examples

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)

// get host name from URL
myURL="http://www.scilab.org/download/";
[a,b,c,d]=regexp(myURL,'@^(?:http://)?([^/]+)@i')

str='foobar: 2012';
// Using named subpatterns
[a,b,c,d]=regexp(str,'/(?P<name>\w+): (?P<digit>\d+)/')
d(1)=="foobar"
d(2)=="2012"

See also

  • strindex — search position of a character string in another string

History

VersionDescription
5.4.0 A new output argument, foundString, has been added to retrieve subpatterns matches.
Report an issue
<< prettyprint Chaînes de caractères sci2exp >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:50:27 CET 2020