regexp
in a string, locate (and extract) substrings matching a regular expression
Syntax
[start, final, match, foundString] = regexp(input, pattern) [start, final, match, foundString] = regexp(input, pattern, "once")
Arguments
- input
 a string.
- pattern
 a character string (under the rules of regular expression).
- start
 the starting index of each substring of
inputthat matches the regular expression stringpattern.- final
 the ending index of each substring of
inputthat matches the regular expression stringpattern.- match
 the text of each substring of
inputthat matchespattern.- foundString
 the captured parenthesized
subpatterns.- "once | "o" flag
 'o'for matching the pattern only 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="https://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
| Version | Description | 
| 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 >> |